4

我被困在一个问题上。我正在尝试使用 PowerShell 设置用户环境变量:

[Environment]::SetEnvironmentVariable($key,$value,'User')

但是当我查看注册表时,我可以看到新条目的类型是REG_SZ.

我希望它是 type REG_EXPAND_SZ

有人可以帮我解决这个问题吗?

谢谢

4

2 回答 2

7

为注册表方法使用 Microsoft.Win32 命名空间。要设置数据类型,请使用RegistryValueKind枚举。像这样,

[Microsoft.Win32.Registry]::SetValue("HKEY_CURRENT_USER\Environment","MyKey","1",[Microsoft.Win32.RegistryValueKind]::ExpandString)

用户变量位于 HKEY_CURRENT_USER\Environment

系统变量位于 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

于 2012-07-02T14:01:48.957 回答
2
Set-ItemProperty HKCU:\Environment $key $value -Type ExpandString

或打高尔夫球

sp hkcu:environment $key $value -t e

Set-ItemProperty 在某些系统上将注册表值设置为字符串而不是 DWord,为什么?

于 2014-06-23T05:48:44.140 回答