使用特定签名调用所有函数

时间:2014-06-23 16:24:52

标签: powershell

我有一个模块(psm1文件),我有一组功能。我需要调用该模块中的所有函数,它接受一个参数(一个PSToken数组)。显然,我可以直接调用所有函数,但是我需要在模块中进行更改,不需要在调用脚本中进行更改。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您可以使用Get-Command命令行开关迭代给定模块中的函数,然后使用点源调用每个函数:

Import-Module MyPowershellModule

$arrPsToken = @($token1, token2, token3)

Get-Command -Module MyPowershellModule |
    Select-Object -ExpandProperty Name |
    ForEach-Object {
        . "$_" $arrPsToken
    }

请记住,此代码假定所有函数都具有相同的签名,这是有风险的。