質問

ターミナルサービスに使用されるWindows Server 2003システムがあります。移動プロファイルは使用しません。ログインスクリプトは使用しません。このシステムにログインするアカウントは約30〜40個あり、ローカルプロファイルを持っています。

このシステムにインストールされているソフトウェアパッケージの1つは、ライセンスにHKCU / Software regツリーを使用しているため、各ユーザーはローカルプロファイルにライセンスキーを持っています。

これらの異なるプロファイルレジストリをすべて決定論的に更新するにはどうすればよいですか?

役に立ちましたか?

解決

あなたが望むものを達成する方法はいくつかあります-一つは他よりも不格好です。ターミナルサーバーは展開の悪夢になる可能性があります。ユーザーは msiexec.exe を実行する権限を持っていない可能性があり、そのためMSIの自己修復が失敗する可能性があります。そのため、私は一般的に、バッチファイルスクリプト、または regファイルを使用することを好みます。

Microsoftの Active Setup機能を使用します。これは、「ログイン時にプロファイルごとに1回実行する」ことができる機能の単なる空想的な名前です。適切な説明は次のとおりです。 http://www.etlengineering.com/installer/activesetup .txt

MSIファイルのアクティブセットアップエントリのサンプルを次に示します(これは* .regファイルの内容です):

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode]]
"StubPath"="[SystemFolder]msiexec.exe /q /fou [ProductCode]"

" StubPath"コマンドは「実行可能」なものであれば何でもかまいませんが、あなたの場合、msiexec.exeではなく、cscript.exeまたは他のバッチメカニズム(CMD、REGなど)を介してvbscriptを実行することをお勧めします。その理由は、前述したとおりです。ターミナルサーバーユーザーに対してmsiexec.exeを実行できない場合があります。つまり、次のようなものです:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\MyProduct]
"StubPath"="[SystemFolder]cmd.exe /k C:\SomeScript.cmd"

など、各ユーザーのプロファイルにデータを追加する他の方法があります。 アドバタイズされたMSIショートカットと自己修復の使用 が、ターミナルサーバーにはお勧めしません。レジストリ設定でのMSIファイルの使用に関する問題については、 このserverfault.comの回答 を参照してください。 。

他のヒント

レジストリハイブをプログラムでマウントし、キーを変更して、ハイブを閉じます。または、PSExec / runasを使用して「キーの更新」を実行することもできます。 そのユーザーとしてのスクリプト。これは「HKCUの編集」も解決します。問題

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top