gpt4 book ai didi

powershell - 如何从另一个模块中的函数全局导入 Powershell cmdlet?

转载 作者:行者123 更新时间:2023-12-04 02:17:41 26 4
gpt4 key购买 nike

我在从另一个模块中的函数全局导入 cmdlet 时遇到问题。

情况就是这样。假设我正在尝试调用 Test-Method在一个dll中。
当我运行 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我可以看到 Test-Method来自导出命令。但我无法访问它。

这只发生在 dll 导入中。我试过用psm1文件替换dll路径,没有遇到这个问题。

这个问题有什么好的解决方法或解决方案?

最佳答案

我有同样的问题并添加参数 -Scope Global 修复了它

将您的线路更改为 Import-Module <path to your module> **-Scope Global**

关于powershell - 如何从另一个模块中的函数全局导入 Powershell cmdlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37425366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com