Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 环境变量其他用户_Vbscript_Environment Variables - Fatal编程技术网

Vbscript 环境变量其他用户

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

我正在尝试为用户xy设置环境变量。 如何在visual basic脚本中执行此操作

这就是我所拥有的:

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

谢谢你的回答。下周我将尝试此操作。请注意,只有当用户当前未登录时,加载用户的配置单元才会起作用。