【Windows10】proの機能をhomeで使えるようにするスクリプトの仕組み
Windows10 homeに本来備わっていない機能を使えるようにする「あのスクリプト」を解析してみました。
どういう理屈で本来使えないはずの機能を有効化しているのでしょうか。
「あのスクリプト」って?
Windows10にはhomeやproなどいくつかのエディションがあります。
homeとproを比較すると、proにはあるけれどhomeにはない機能というものがいくつかあります。
例えば、グループポリシーやHyper-Vなどがそうです。
しかし、検索エンジンに尋ねると本来Homeエディションで使えないこれらの機能を使えるようにするスクリプトを教えてくれます。
Dismでサービスパッケージを有効化してるあれの事です。
これがこの記事で言う 「あのスクリプト」 です。
なぜこのスクリプトで本来使えない機能が使えるようになるのかということを解析していこうというのがこの記事の趣旨です。
解析の前に
この記事では具体的にスクリプトを示しながら解析はしません。
というのも、本来proでなければ使えない機能をhomeで使うという行為はライセンス的にアウトだと思うからです。
あくまでこの記事はwindows10がなぜpro版の機能がスクリプトで(OSに備わっている機能で)簡単に使えるようになるのかという理屈を知る、つまり知的好奇心を満たすためのものです。
スクリプトの工程とwindowsの仕様
スクリプトを読むと機能開放は3つの工程で行われていることが分かります。
- 解放する機能のサービスパッケージリストの作成
- 1で作成したリストを使用してパッケージをインストール
- インストールされた機能を有効化
このような手順で本来homeエディションで使用できない機能が使用可能になることからwindows10はエディションが違っても内容物は同じであるということが推測できます。(home内にはproの機能が実装されていないというわけではなく、単に一部機能がインストールされていないだけ。)
何でこんな作りなのか
完全に憶測なのですが、エディション間の移行をスムーズにやるための仕様だと思います。
homeからproにアップグレードするときに既に内部に隠れているプログラムをインストールするだけでいいのであればアップグレード時のトラブルが少なそうですし、実装も楽そうです。
一般のユーザーはdismなんて使ってサービスパッケージの展開なぞしないので、こういう実装でも問題になることは少ないのでしょう。
冒頭で少し触れましたが、このスクリプトはクラックの一種だと思います。
homeでもproと同じサービスパックを内包しており、それをインストールするdismという機能があるからと言ってそれをインストールするのはアウトかなと思います。
ユーザーの利便性・実装のコスト的な問題でこのような仕様になっていると思うので、悪用するのは良くないと個人的には解釈します。