Vbscript 环境变量其他用户
我正在尝试为用户xy设置环境变量。 如何在visual basic脚本中执行此操作 这就是我所拥有的:Vbscript 环境变量其他用户,vbscript,environment-variables,Vbscript,Environment Variables,我正在尝试为用户xy设置环境变量。 如何在visual basic脚本中执行此操作 这就是我所拥有的: Dim objShell As Object Set objShell = CreateObject("WScript.Shell") objShell.Environment("user")("TEST") = "12345" 通过这种方式,我可以为登录的用户设置一个环境变量。 但是如何为其他用户设置环境变量 Markus只有系统环境可供其他用户使用 Set wshShell = Crea
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Environment("user")("TEST") = "12345"
通过这种方式,我可以为登录的用户设置一个环境变量。
但是如何为其他用户设置环境变量
Markus只有系统环境可供其他用户使用
Set wshShell = CreateObject( "WScript.Shell" )
Set wshSystemEnv = wshShell.Environment( "SYSTEM" )
WScript.Echo "SYSTEM: TEMP=" & wshSystemEnv( "TEMP" )
如果要更改其他用户的环境变量,则必须在其上下文中运行代码(使用
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
谢谢你的回答。下周我将尝试此操作。请注意,只有当用户当前未登录时,加载用户的配置单元才会起作用。