powershell - 如何将 Powershell 函数作为参数分配给不同函数的参数

标签 powershell scripting

所以,我有两个功能: 第一个功能:

function FunctionExecutor
{
    param
    (
        $function
    )
}

第二个函数是这样的:

function StartSSHsession
{   
    Write-Host "Hi"
}

问题:如何通过将 StartSSHSession 传递到 FunctionExecuter 来执行它?

这不执行任何操作。

FunctionExecutor -function: StartSSHsession

最佳答案

一种方法是dot-source :

function FunctionExecutor
{
    param
    (
        $function
    )
    . $function
}

请记住,您只是传递名称。


使用附加 Switch 的示例参数并使用$PSBoundParameters自动变量:

function StartSSHsession
{   
    param(
        [switch]$useEmail
    )
    if($useEmail){
        Write-Host "Use Email"
    }else{
        Write-Host "Hi"
    }
}

function FunctionExecutor
{
    param
    (
        [switch]$useEmail,
        $function
    )
    . $function @PSBoundParameters
}

关于powershell - 如何将 Powershell 函数作为参数分配给不同函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49120601/

相关文章:

Powershell 测试网络连接 "Name resolution of [domain] failed"错误

powershell - Powershell:如何将格式化的变量组合成没有空格的字符串?

mysql - 使用 Powershell v4 插入 MySQL 时发生内存泄漏

json - 如何将此 JSON 往返传输到 PSObject 并返回到 Powershell

shell - $ 是什么? (美元问号)shell 脚本中的变量?

c# - 在 CSharpScript 的脚本类中访问全局变量

powershell - PowerShell 新对象声明中 '+' 的含义

linux - 如何在 bash 字符串变量中用 $HOME 的值替换前导波浪号 ~,反之亦然?

iis - 您最喜欢的 LogParser 脚本是什么?

javascript - <script> 标签必须包含单独的 </script> 标签?