Powershell Service nicht verfügbar
Servus,
Hier ein Beispiel für die Prüfung ob der Dienst installiert ist oder nicht.
Hier aus meinem Script
Er stellt schon fest das der Service nicht vorhanden ist und gibt mir allerdings nix aus.
Gibt es bei Invoke-Command diesbezüglich noch etwas zu beachten?
VG
EDIT:
Oder ist es besser im Scriptblock noch ein try-catch einzubauen und dann den Fehler dort im Catch abzufangen?
EDIT2:
Liefert auch kein Ergebnis. ;(
Hier ein Beispiel für die Prüfung ob der Dienst installiert ist oder nicht.
$service = Get-Service -name iisadmin
if ( ! $service ) { "IIS is not installed on this computer." }
else
{ "SQL Server is " + $service.Status }
Hier aus meinem Script
$BlsRS = Invoke-Command -ComputerName $Serv -ScriptBlock { $Service = Get-Service -DisplayName "Service1" -ErrorAction SilentlyContinue
if ( ! $Service ) { "NA" }
}
Er stellt schon fest das der Service nicht vorhanden ist und gibt mir allerdings nix aus.
VolDFree : 0,00
FSAUA : Running
TftfS : Running
CoreS : Running
BlsRS : >>>> <<<<< <--- da müsste NA , wenn der Dienst nicht installiert ist
FSWUI : Running
Gibt es bei Invoke-Command diesbezüglich noch etwas zu beachten?
VG
EDIT:
Oder ist es besser im Scriptblock noch ein try-catch einzubauen und dann den Fehler dort im Catch abzufangen?
EDIT2:
try{
Get-Service -DisplayName "Service1" -ErrorAction SilentlyContinue
}
catch [System.Management.Automation.RemoteException]{
"NA"
}
Liefert auch kein Ergebnis. ;(
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 348762
Url: https://administrator.de/forum/powershell-service-nicht-verfuegbar-348762.html
Ausgedruckt am: 16.04.2025 um 10:04 Uhr
3 Kommentare
Neuester Kommentar

Der Try-Catch funktioniert nur wenn im Aktionsteil -ErrorAction Stop festgelegt wird denn sonst wird keine Exception getriggert und er springt nicht in den Exception Teil.
Gruß
Gruß

Zitat von @H41mSh1C0R:
Setze ich die ErrorAction auf Stop und setze im Catch Block einen Text bekomme ich den nicht in die Variable $Dienst.
Denke weil nur lokal nutzbar?
Doch return nutzen, funktioniert hier einwandfrei. Du setzt vermutlich den falschen Exception Typ lass ihn weg.Setze ich die ErrorAction auf Stop und setze im Catch Block einen Text bekomme ich den nicht in die Variable $Dienst.
Denke weil nur lokal nutzbar?