Powershell Import-Module因DllNotFoundException而失败

时间:2013-07-11 07:56:36

标签: powershell powershell-v2.0 powershell-module

尝试在另一台配备PowerShell 2.0的计算机上使用http://powershellgac.codeplex.com,在我的主电脑上的powershell 3.0中成功使用它,但在另一台电脑上显示:

Get-Module -ListAvailable

Manifest AppLocker            {}
Manifest PSDaignostics        {}
Manifest TroubleshootingGPack {}
Manifest Gac                  {}
Manifest Gac                  {}
Manifest Gac                  {}

括号都填写在我的主电脑上,为什么这不起作用?我已将ExeuctionPolicy设置为“unrestricted”。还是一样的错误。我在两台pc上都正确设置了$ env:PSModulePath。 (它怎么会找到Gac清单呢)

编辑:我忘了添加最重要的信息:当我在Powershell ISE中启动.ps1脚本时,即使在另一台PC上也可以。 很明显,剧本本身并没有什么问题,所以我很无能为力。

1 个答案:

答案 0 :(得分:1)

-ListAvailable列出了它可以在您的机器上找到的所有模块,但这些模块不一定是加载的(使用import-module)。在加载模块之前,PowerShell 2.0不会显示导出的命令,但PowerShell 3.0会这样做。另请参阅here。如果要查看已加载模块中的导出命令,请尝试Get-Module

该命令的结果没有理由相信该模块不起作用。

我是PowerShell GAC模块的作者,我想感谢您的尝试。请在加载模块时添加完整的错误消息详细信息,以便我们找出问题所在。

在PowerShell控制台和ISE中执行dir ((Get-ItemProperty HKLM:Software\Microsoft\.NetFramework -Name InstallRoot).InstallRoot),让我知道您获得的结果。