tobiased

Unterdrückung einer Fehlermeldung

Hallo Community,

ich habe eine vermeintlich simple Frage, dennoch bekomme ich es einfach nicht hin. Ich habe ein kleines Script geschrieben welches wie folgt aussieht.

Invoke-RestMethod -Uri "https://example.com/rest/api/content/1234" -Method GET -Headers $Headers | Out-Null  
$check = $?
if ($check -like "False"){  
"false"  
}
else
{
"true"  
}

Dieses Script funktioniert auch so wie ich es möchte. Leider wird aber immer eine Fehlermeldung angezeigt, sollte der REST-Call fehlschlagen. Und genau diese Fehlermeldung möchte ich unterdrücken, sodass sie nicht mehr angezeigt wird.

PS: Wer eine elegantere Version meines Scrips anzubieten hat, immer gerne face-smile
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 305202

Url: https://administrator.de/forum/unterdrueckung-einer-fehlermeldung-305202.html

Ausgedruckt am: 02.08.2025 um 15:08 Uhr

129413
Lösung 129413 23.05.2016 aktualisiert um 14:58:29 Uhr
Ein try {} catch{} um das Konstrukt bauen oder den Request mit plain NET Objects HttpRequestObject nachbauen oder -ErrorAction Ignore benutzen wenn mindestens PS 3.0 vorhanden ist .

Was für eine Fehlermeldung ist das? Kannst du eine funktionsfähige URL liefern ?

Gruß skybird
Tobiased
Tobiased 23.05.2016 um 15:09:36 Uhr
Hallo skybird,

danke für deine schnelle Antwort. Die Fehlermeldung ist ein 404 Error vom Server, weil eben die Seite mit der ID 1234 nicht existiert. Zu deiner Lösung
-EA Ignore funktioniert bei mir nicht (PS 4.0), hatte zuvor auch schon -EA "SilentlyContinue" versucht. Try/Catch wollte ich erst nicht nehmen, da ich nicht beachtet habe, dass ich einfach die check Variable darüber definieren kann und danach die try/catch Anweisung sofort wieder verlassen kann. Also mit anderen Worten ich war einfach nur dumm face-smile

sei's drum ich danke dir jedenfalls
SaschaRD
Lösung SaschaRD 24.05.2016 um 11:44:09 Uhr
Hallo @Tobiased,

kleiner Tipp zu deinem oben genannten Code:
$check = Invoke-RestMethod -Uri "https://example.com/rest/api/content/1234" -Method GET -Headers $Headers | Out-Null  
if (! $check){
Write-Host $check
}
Write-Host $check
Bei einer Prüfung auf den boolean true, einfach die Negation ! entfernen. Die Else Bedingung könntest Du dir auch sparen, wenn nichts weiter kommt. Dies spart Zeilen face-wink

Gruß, Sascha