Powershell 添加系统变量

Posted

技术标签:

【中文标题】Powershell 添加系统变量【英文标题】:Powershell Add System Variable 【发布时间】:2015-12-20 05:43:02 【问题描述】:

我正在尝试使用 PowerShell 在此处添加系统变量:

我已经尝试了两种方式使用

$env:MyTestVariable = "My test variable."

[Environment]::SetEnvironmentVariable("TestVariableName", "My Value", "<option>")

但是他们似乎都没有添加到这个部分。我也尝试过重新启动计算机,看看它是否会生效。我查看了 technet 以及无数其他网站,但我尝试过的都没有奏效。

如何使用 PowerShell 设置系统变量?

【问题讨论】:

[System.Environment]::SetEnvironmentVariable('name','value',[System.EnvironmentVariableTarget]::Machine) Powershell - changing the value of an environment variable的可能重复 【参考方案1】:

以管理员身份运行 PowerShell(以获取必要的注册表访问权限),然后调用 .Net 框架进行设置:

[Environment]::SetEnvironmentVariable("MyTestVariable", "MyTestValue", "Machine")

注意。它不会在同一个进程中生效,您必须创建一个新的 PowerShell 进程才能看到它。

【讨论】:

关于NB:如果你安装了choco,你可以运行refreshenv来使用相同的powershell进程;)【参考方案2】:

以管理员身份运行 PowerShell。如果您尝试修改环境扩展或环境路径等内容,请不要使用它。无需运行 refreshEnv 也无需打开新的 PowerShell 窗口即可查看

$variableNameToAdd = "mytestVariableName"
$variableValueToAdd = "some environmental value to add"
[System.Environment]::SetEnvironmentVariable($variableNameToAdd, $variableValueToAdd, [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable($variableNameToAdd, $variableValueToAdd, [System.EnvironmentVariableTarget]::Process)
[System.Environment]::SetEnvironmentVariable($variableNameToAdd, $variableValueToAdd, [System.EnvironmentVariableTarget]::User)

【讨论】:

【参考方案3】:

你可以在下面找到一个很酷的解释,

https://trevorsullivan.net/2016/07/25/powershell-environment-variables/

【讨论】:

链接失效了,你有多余的吗? 工作存档链接:web.archive.org/web/20210228001104/https://trevorsullivan.net/…

以上是关于Powershell 添加系统变量的主要内容,如果未能解决你的问题,请参考以下文章

使用内置系统变量创建 Powershell 环境变量

powershell PowerShell:修复PATH系统变量

使用PowerShell修改操作系统“环境变量”

[系统安全] 四十六.Powershell恶意代码检测系列 Powershell基础入门及管道和变量的用法

PowerShell随笔10---Module

PowerShell随笔4---变量