所以,我有两个功能: 第一个功能:
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/