1

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

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

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

4

2 に答える 2

1

Active Setup は推奨されなくなりました(元のソース)。


目的を達成する方法はいくつかあります。ターミナル サーバーは展開の悪夢になる可能性があります。ユーザーが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 の回答を参照してください。

于 2009-09-15T02:19:06.000 に答える
0

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

于 2009-09-15T02:02:04.677 に答える