在 azure Powershell 中,我使用命令“az vm run-command invoke”对虚拟机执行脚本,问题是当由于某种原因它不起作用时,它会在错误消息中清楚地打印所有参数的值,并且这些参数是敏感数据,出于安全原因,我不必在错误消息中打印。
这是我尝试执行的:
az vm run-command invoke -g $ResourceGroupName -n $VMname[-1] --command-id RunPowerShellScript --scripts @$pathScript --parameters "param1=$($Data1)" `
"param2=$($Data2)"
在我的情况下,Data1 可能是敏感的,我从不在代码中打印该值,但在错误消息中,该值以清晰的形式显示,我不必允许这样做。
请记住,当我添加正确的参数时,@$pathScript 中定义并在机器中执行的脚本运行良好。
我尝试将代码放入 try catch 块中,但这仍然会抛出错误消息,并且不会打印在 catch 部分中添加的消息
try{
az vm run-command invoke -g $ResourceGroupName -n $VMname[-1] --command-id RunPowerShellScript --scripts @$pathScript --parameters "param1=$($Data1)" `
"param2=$($Data2)"
}catch{
Write-Error "Error : Please check if your are passing the good arguments - Check the code if you need and debug it"
}
我错过了什么?