环境变量其他用户

时间:2013-02-25 10:37:12

标签: vbscript environment-variables

我正在尝试为用户xy设置环境变量。 如何在可视化基本脚本中执行此操作?

这就是我所拥有的:

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

通过这种方式,我可以为登录用户设置环境变量。 但是如何为其他用户xy设置环境变量?

马库斯

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

Set wshShell = CreateObject( "WScript.Shell" )
Set wshSystemEnv = wshShell.Environment( "SYSTEM" )
WScript.Echo "SYSTEM:  TEMP=" & wshSystemEnv( "TEMP" )