2017-05-09 99 views
1

我有一个PSModule,我想将它放在我自己的PSTools目录中,而不是PSModule的标准PowerShell保留目录。我用命令在所有会话中保留PSModulePath

$env:PSModulePath += ';c:\MyPSModule' 

这工作,但它只是对我的当前会话和PS似乎已经忘记了我的设置,创建一个新的会话之后,我必须重新设置。

如何在所有PowerShell会话中持续执行我的$ env设置,并且如果所有用户都可以这样做?如果可能的话,我不想破解注册表。只有ps命令,只有这是可行的。

回答

2
$CurrentValue = [Environment]::GetEnvironmentVariable("PSModulePath", "Machine") 
[Environment]::SetEnvironmentVariable("PSModulePath", $CurrentValue + ";C:\MyPSModule", "Machine") 

要通过使用脚本添加持久变量,使用 SetEnvironmentVariable方法方法对环境的类。例如, 上述脚本将“C:\ MyPSModule”路径 添加到 计算机的PSModulePath环境变量的值中。要将路径添加到用户PSModulePath环境 变量,请将目标设置为“用户”。