17

这是关于我之前问过的这个问题- Powershell:在目标系统上安装模块

  • 默认模块加载路径是什么?现在经过这么多天,它已经开始给出这个错误(来自我的 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();
4

2 回答 2

28

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

$env:PSModulePath.split(';')

在此处输入图像描述

于 2017-08-21T01:34:01.037 回答
25

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

所以默认情况下它应该总是在两个地方寻找。

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

于 2012-09-17T12:02:52.867 回答