【发布时间】:2021-09-03 05:01:11
【问题描述】:
我正在尝试创建一个函数,该函数可以根据我将传递参数的 LatestStatus 值计算作业。到目前为止我得到了什么:
Function JobCountStatus {
Write-Output (Get-VBRJob | ?{$_.Info.LatestStatus -eq $args} | Measure-Object).Count
}
问题是,正如我在某处所读到的,将会有一个 subshell(?) 执行 where,因此不会传递参数。
如果我用“失败”之类的特定字符串替换 $args,它将起作用。
有没有办法克服这个问题?我不想为所有可能的值编写单独的函数。
感谢任何 cmets - 谢谢
【问题讨论】:
-
$args是一个automatic variable,其中包含传递给函数、脚本或脚本块的未声明参数值的数组。你把它当作一个标量.. -
@BendertheGreatest,我已经修复了问题中的语法错误。
-
谢谢。我尽量不修复问题示例中的语法错误,但考虑到没有提及错误,我想这很明显不是 OP 的问题
标签: function powershell parameters veeam