1

尝试在另一台装有 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                  {}

括号都填在我的主电脑上,为什么这不起作用?我已将 ExecutionPolicy 设置为“无限制”。还是同样的错误。我已经在两台电脑上正确设置了 $env:PSModulePath。(否则它怎么会找到 Gac 清单)

编辑:我忘了添加最重要的信息:当我在 Powershell ISE 中启动 .ps1 脚本时,它可以工作,即使在另一台电脑上也是如此。很明显,脚本本身没有任何问题,所以我一无所知。

4

1 回答 1

1

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

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

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

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

于 2013-07-12T18:30:46.773 回答