以有序的方式引用 Powershell 的 ValidateScript 中的其他参数

Refer to other arguments in Powershell's ValidateScript - in an ordered way

提问人:rebulanyum 提问时间:9/2/2023 最后编辑:rebulanyum 更新时间:9/6/2023 访问量:30

问:

enter image description here

因此,如屏幕截图所示,当参数以不同的顺序传递时,validateScript 的行为会发生变化。有没有办法防止这种情况发生?(我不想改变参数的顺序,我愿意以两种方式运行脚本)

Param(
[Parameter(mandatory=$false)]
[string]$XXXArg1,

[Parameter(mandatory=$true)]
[validateScript({
    Write-Host "validating XXXArg2 = $_ --> XXXArg1 = $XXXArg1"
    $true
})]
[string]$XXXArg2
)
"Executing XXXArg1:$XXXArg1 , XXXArg2:$XXXArg2"
PowerShell 验证 参数 参数传递

评论

1赞 Santiago Squarzon 9/2/2023
“我不想改变参数的顺序,我愿意双向运行脚本”。在脚本正文中验证,然后 ̄_(ツ)_/ ̄
0赞 rebulanyum 9/2/2023
因此,很明显,我可能会将验证逻辑从“validateScript”移动到函数的正文,但我想使用 powershell 提供的参数验证逻辑。
0赞 mclayton 9/4/2023
您能否将示例代码发布为文本,这样就不必重新键入它来进行调查?我倾向于在手机上使用 tio.run 来解决 Powershell 问题,而重新键入代码充其量是费力的......
0赞 David Trevor 9/5/2023
这是一个计算机兄弟,它怎么知道一个尚未初始化的变量?在这种情况下,顺序很重要

答: 暂无答案