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 回答