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"
}
私は何が欠けていますか?.