windows10搭載の新PC導入決定!
windows7のサポート終了に伴い、私の会社でもwindows10の導入が決まりました。
その台数、なんと約500台です。
私の事業部では、そのうち150台ほどが対象で、その全てがドメイン管理され、全てに同じ設定をしなければいけません。
その内容は内部統制部から細かく指示され、指示通りに設定したかのチェックシートを提出することになっています。
こんなめんどくさいことを押し付けられ、やる気が全く出ず、大人しく上から言われたことをそのままやるのが嫌いな性格の私は、どうにか簡単にやる方法はないか考えました。
PC設定用のアプリ開発しちゃえ!
あまり考える必要もなかったのですが、バッチファイルかVBS、またはVBのウィンドウズフォームアプリケーションでボタンを押していくとPCの設定が出来るものが作れないか試すことにしました。
するとWINDOWSの設定をWINDOWSとは別のプログラムで設定することは想像していたよりずっと大変だということが分かりました。
レジストリにハマった!
大抵の設定ファイルはレジストリにあることはわかっていたのですが、対象のレジストリがどこにあるか一つ一つ調べなくてはならず、ネットにも載っていないことがいくつもありました。
レジストリの所有者がSYSTEMになってる!
また、レジストリ操作でハマったのがレジストリの所有者がSYSTEMの場合でした。
レジストリの所有者がSYSTEMの場合、管理者権限でもレジストリを修正することが出来ません。
これをVBで行うというのだから、かなり頭を悩ませました。
ディスプレイの電源が切れるまでの時間の設定や、電源プランの設定のあたりで、レジストリの所有者がSYSTEMになっており、WINDOWSのGUIを使えば一瞬でできるのに、何をやってもレジストリのアクセス権で引っかかってしまい、とても苦労しました。
レジストリの所有者の変更に成功!
分かったことは、この場合まず、SETACL.EXEで所有者をSYSTEMからADMINISTRATORSに変更し、SUBINACL.EXEでADMINISTRATORSに書き込み権限を付与するという手順を踏む必要があるということでした。
ADMINISTRATORSに書き込み権限を付与しレジストリの値を変更することが出来たのち、またADMINISTRATORSの書き込み権限を削除し、レジストリの所有者をSYSTEMに変えるプログラムを作りました。
この方法が分かるのに数日を要しました。
また、PC設定の対象となるレジストリの場所がわからないときはWINMERGEというソフトを使ってHKCUとHKLMで設定の変更前と変更後のレジストリの違いを探す必要があり、これにもかなり時間を使いました。
先は長い深い!
結局いまだにレジストリがどこか分からないところもあって、PC設定用アプリの開発は途中ですが、忘れないうちに備忘録として書き残しておこうと思います。