2013-02-25 139 views
0

我想为用户xy设置一个环境变量。 如何在Visual Basic脚本中执行此操作?环境变量其他用户

这是我有:

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

这样我可以设置一个环境变量登录的用户。 但是我怎样才能为其他用户xy设置一个环境变量?

Markus

回答

0

只有系统环境对其他用户可用。

Set wshShell = CreateObject("WScript.Shell") 
Set wshSystemEnv = wshShell.Environment("SYSTEM") 
WScript.Echo "SYSTEM: TEMP=" & wshSystemEnv("TEMP") 
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 
+0

感谢您的答复。我会在下周尝试。 – mjm 2013-02-28 10:07:12

+1

请注意,加载用户配置单元仅在用户当前未登录时才有效。 – 2013-02-28 10:49:19