我遇到了问题。我正在尝试使用PowerShell设置用户环境变量:
[Environment]::SetEnvironmentVariable($key,$value,'User')
但是当我查看注册表时,我可以看到新条目的类型为REG_SZ
。
我希望它属于REG_EXPAND_SZ
类型。
有人可以帮我解决这个问题吗?
由于
答案 0 :(得分:5)
对注册表methods使用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
答案 1 :(得分:2)
Set-ItemProperty HKCU:\Environment $key $value -Type ExpandString
或打高尔夫球
sp hkcu:environment $key $value -t e
Set-ItemProperty sets Registry Value as String on some systems instead of DWord, why?