使用powershell将环境类型设置为reg_expand_sz

时间:2012-07-02 13:06:24

标签: powershell environment-variables

我遇到了问题。我正在尝试使用PowerShell设置用户环境变量:

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

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

我希望它属于REG_EXPAND_SZ类型。

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

由于

2 个答案:

答案 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?