如何按需加载PowerShell功能?

时间:2016-12-16 02:24:29

标签: powershell include powershell-module

在我启动PowerShell时加载的个人PowerShell配置文件中,我希望通过调用函数来包含一组函数。

所以我想做这样的事情:

function loadMyFunctions{
    . \MyFunctions.ps1
}

现在,MyFunctions.ps1我有一个功能:

function bobtest{
    write-host "My name is Bob Newhart."
}

我可以加载脚本MyFunctions.ps1,但在加载之后我无法在控制台中调用bobtest - 我收到错误消息The term bobtest is not recognized...

但是,如果我只是在函数外部加载脚本,那么该脚本已加载,我可以正常调用bobtest - 但这意味着我不能在配置文件时加载MyFunctions已加载 - 我 加载MyFunctions但无法选择。

你知道,我想按需加载其他功能,直到我选择才能使用它们。

还有其他方法可以做到这一点,甚至可以做到吗?

2 个答案:

答案 0 :(得分:3)

看看这个page,如何创建PowerShell模块和清单。

这将使您能够创建一个具有所有自定义功能的模块!然后在loadMyFunctions cmdlet内添加Import-Module NewModuleName

这将使您可以使用cmdlet。

希望这有助于, 拉克伦

答案 1 :(得分:1)

最好的方法是使用模块。但是如果你想以某种不同的方式进入,那么你可以试试你的方法。

请参阅我已执行的以下屏幕截图。

我有一个功能添加,它只是添加,我将其保存为 funct1.ps1

现在我只是使用点源而不使用as模块从另一个脚本的另一个函数调用相同的函数,它正确地导致了我。

<强> Funct1.ps1

enter image description here

从另一个脚本中的另一个函数触发函数。

enter image description here

希望它有帮助...... !!!