使用powershell将Environemnt Type设置为reg_expand_sz

aja*_*jax 3 powershell environment-variables

我陷入了困境.我正在尝试使用PowerShell设置用户环境变量:

[Environment]::SetEnvironmentVariable($key,$value,'User')
Run Code Online (Sandbox Code Playgroud)

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

我希望它是类型的REG_EXPAND_SZ.

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

谢谢

von*_*ryz 5

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

[Microsoft.Win32.Registry]::SetValue("HKEY_CURRENT_USER\Environment","MyKey","1",[Microsoft.Win32.RegistryValueKind]::ExpandString)
Run Code Online (Sandbox Code Playgroud)

用户变量位于HKEY_CURRENT_USER\Environment中

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