Powershell v2.0模块:默认加载路径(用户/ Windows系统文件夹)?

时间:2012-09-17 10:44:29

标签: powershell powershell-v2.0

这是我之前提到的this question - Powershell: Installing Modules on Target System

     
  • 默认模块加载路径是什么?    经过这么多天,它已经开始发出这个错误(来自我的C#代码)

     Cannot find path 'C:\Users\angshuman\Documents\WindowsPowerShell\Modules\MyPSModules\MyPsModules.‌​psd1' because it does not exist.

      从SysWow64文件夹路径中轻松加载
  • 为什么突然搜索用户文件夹而不是 Windows 文件夹?

我在Windows 7 64位操作系统上通过C#执行相同的代码

    _ps = PowerShell.Create();   
    _ps.AddScript("Import-Module MyPSModules -PassThru");
    Collection<PSObject> psObjects = _ps.Invoke();

2 个答案:

答案 0 :(得分:20)

如果你想让它们具有更好的可读性,你可以使用它:

$env:PSModulePath.split(';')

enter image description here

答案 1 :(得分:19)

$ env:psmodulePath是自动变量,它保存用于发现模块的路径。如果未设置,PowerShell将在c:\ windows \ system32 \ WindowsPowerShell \ v1.0 \ modules和MyDocuments \ WindowsPowerShell \ modules中查找。

因此,默认情况下,它应始终在两个地方进行查看。

我没有做过多少32-on-64编码,但如果您在64位操作系统上运行32位应用程序,我可以使用SysWow64(而不是System32)看到它。