2013-02-25 138 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