Skytap API(REST)を使用したPowerShellスクリプトがあります。エラーがあれば、それをキャッチして表示しようと思います。
たとえば、IPを変更しています:
Invoke-RestMethod -Uri https://cloud.skytap.com/configurations/XXXXXX/vms/YYYYYY/interfaces/ZZZZZZ?ip=10.0.0.1 -Method PUT -Headers $headers
IPが他の場所で使用されている場合、409 Conflict Errorが発生します(要求は整形式ですが、別のリソースまたは許可と競合しています)。
エラーが409であるかどうかを確認し、それについて何か他のことをするように伝えたいと思います。
これはやや厄介ですが、.NETのWebRequestやConvertFrom-Jsonを使用するなど、もっと複雑なことをせずに(またはあなたが期待しているデータ形式)、私が知る限り、それを行う唯一の方法です。
try {
Invoke-RestMethod ... your parameters here ...
} catch {
# Dig into the exception to get the Response details.
# Note that value__ is not a typo.
Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
}