0

ユーザー xy の環境変数を設定しようとしています。Visual Basic スクリプトでこれを行うにはどうすればよいですか?

これは私が持っているものです:

Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Environment("user")("TEST") = "12345"

このようにして、ログインしたユーザーの環境変数を設定できます。しかし、他のユーザー xy の環境変数を設定するにはどうすればよいでしょうか?

マーカス

4

2 に答える 2

1

他のユーザーの環境変数を変更したい場合は、自分のコードをそのコンテキストで ( を使用してrunas) 実行するか、レジストリの変数を変更する必要があります。ntuser.dat後者の場合、ユーザーのプロファイルからユーザー ハイブをロードする必要があります。

Set sh = CreateObject("WScript.Shell")
sh.Run "%COMSPEC% /c reg load HKU\Temp C:\Users\foo\ntuser.dat", 0, True

ハイブがロードされた後、環境サブキーを操作できます。

sh.RegWrite "HKEY_USERS\Temp\Environment\TEST", "12345", "REG_SZ"

完了したらハイブをアンロードして完了です。

sh.Run "%COMSPEC% /c reg unload HKU\Temp", 0, True
于 2013-02-25T17:56:21.187 に答える
0

他のユーザーは、システム環境のみを使用できます。

Set wshShell = CreateObject( "WScript.Shell" )
Set wshSystemEnv = wshShell.Environment( "SYSTEM" )
WScript.Echo "SYSTEM:  TEMP=" & wshSystemEnv( "TEMP" )
于 2013-02-25T13:10:07.593 に答える