我创建了这个函数:
function setUserEnvVar ([string]$varName, [string]$varValue)
{
[Environment]::SetEnvironmentVariable($varName, $varValue, "User")
}
我使用 varName 和 varValue 来确保不会与我现在可能不知道的任何 PowerShell 内置变量发生冲突。当我使用它调用它时
setUserEnvVar("hi", "lo")
什么都没发生。
我检查了通过 Windows GUI 的用户环境变量。我知道你必须重新加载 PowerShell 才能看到环境变量的变化。
但是当我直接使用
[Environment]::SetEnvironmentVariable("hi", "lo", "User")
一切都按预期工作。
相比之下,这个函数工作得很好:
function getUserEnvVar ([string]$Name)
{
[Environment]::GetEnvironmentVariable($Name, "User")
}