如何为另一个用户设置环境变量?

Geo*_*uer 28 windows environment-variables

在 Windows 上,如何为当前登录用户以外的用户设置环境变量?我需要设置TMP变量来更改 ASP.NET 应用程序使用的临时目录。

uSl*_*ckr 28

您可以通过注册表访问。修改\Environment\Tmp密钥HKEY_Users\<their SID>

这里有两种获取账户SID的方案

$User = New-Object System.Security.Principal.NTAccount("domainname", "username") 
$SID = $User.Translate([System.Security.Principal.SecurityIdentifier]) 
$SID.Value 
Run Code Online (Sandbox Code Playgroud)

或者

Get-WmiObject win32_useraccount -Filter "name = 'username' AND domain = 'domainname'"
Run Code Online (Sandbox Code Playgroud)

  • @austinian 该链接现在不可用。这就是为什么将此类信息包含在答案本身中而不是链接到答案很重要的原因。 (6认同)
  • 此 powershell 代码将获取 SID `$User = New-Object System.Security.Principal.NTAccount("domain", "username") $SID = $User.Translate([System.Security.Principal.SecurityIdentifier]) $SID .Value` 或 `Get-WmiObject win32_useraccount -Filter "name = 'user' AND domain = 'domain'"` (5认同)