【发布时间】:2016-05-24 23:11:47
【问题描述】:
我在从另一个模块中的函数全局导入 cmdlet 时遇到问题。
情况就是这样。假设我试图在 dll 中调用 Test-Method。
当我运行Import-Module <dll path> 时,一切正常,我可以毫无问题地调用Test-Method。
然后我将命令放入一个函数中以简化使用。现在我有类似的东西:
function Import-Cmdlets
{
Import-Module "<dll path>" -Scope Global -Force
}
现在在 Powershell 中我调用Import-Cmdlets,然后我可以毫无问题地调用Test-Method。
但是,当我将函数放入 psm1 文件中,并在 psm1 文件中导入模块时,我再也找不到 Test-Method。
现在我有一个mymodule.psm1 文件,其内容如下:
function Import-Cmdlets
{
Import-Module "<dll path>" -Scope Global -Force
}
然后在 PowerShell 中运行:
Import-Module mymodule.psm1 -Force
Import-Cmdlets
现在我再也找不到Test-Method了。当我运行 Get-Module 时会显示 dll,我可以从 ExportedCommands 中看到 Test-Method。但我无法访问它。
这只发生在 dll 导入中。我试过用psm1文件替换dll路径,没有遇到这个问题。
对于这个问题有什么好的解决方法或解决方案?
【问题讨论】:
标签: powershell