PowerShell如何更改用户默认的PSModulePath

时间:2019-12-20 09:19:58

标签: powershell console

我的工作网络文件夹在我的工作笔记本电脑上出现PowerShell模块路径问题。他们使用主文件夹的缓存。在工作网络上时,我的实际文件将同步到本地磁盘,以便我可以脱机访问,并且当我回到公司网络上时,我脱机进行的所有更改都将同步回来。在$ env:PSModulePath中,我有

\\ad.xxx.net\WPS\XX\P\UD\200024\UserName\Home\My Documents\WindowsPowerShell\Modules

当我连接到公司网络时,这可以很好地工作,但是当我离线时,启动PowerShell 始终会尝试通过UNC路径进行连接,直到失败,它都会超时,因此启动PowerShell控制台每次要花费20秒钟以上。

要尝试解决此问题,我已将PSModulePath中的HKCU\Environment更改为C:驱动器(C:\Users\UserName\Documents\WindowsPowerShell\Modules)上的上述内容,但此操作失败并且每次PowerShell控制台启动时,它总是尝试通过网络访问以找到该模块路径,并且总是超时/失败/超过20秒的启动时间。

有没有一种方法可以删除默认的用户模块路径,或重定向到C:驱动器来规避此问题?

1 个答案:

答案 0 :(得分:0)

您可以使用此值(全新值)更改PSModulePath

[Environment]::SetEnvironmentVariable("PSModulePath",[System.IO.Path]::PathSeparator + "Your Path", "PC name")

或者这个(保持旧值):

$CurrentValue = [Environment]::GetEnvironmentVariable("PSModulePath", "PC name")
[Environment]::SetEnvironmentVariable("PSModulePath", $CurrentValue + [System.IO.Path]::PathSeparator + "Your path", "PC name")