Powershell: Script "Pause" bis Dienste auf Remote Server abgerufen wurden

newbi2009
Goto Top
Hallo zusammen,

ich habe ein Script gebaut, indem ich mit

den Status der betroffenen Dienste abfrage.
Jetzt dauert es natürlich seine Zeit, bis die Information "ankommt" (Beim ersten Abruf auf jedem Server bis 15 Sekunden).
Leider läuft das Script in der Zwischenzeit weiter, so dass es das Ergebnis nicht, bzw. nicht an der richtigen Stelle anzeigt.

Wie bewege ich das Script nach der Abfrage solange zu warten, bis das Ergebnis ausgegeben wird?

Vielen Dank und Gruß
Holger

Content-Key: 2090855687

Url: https://administrator.de/contentid/2090855687

Ausgedruckt am: 04.07.2022 um 03:07 Uhr

Mitglied: NordicMike
NordicMike 08.03.2022 um 07:00:39 Uhr
Goto Top
Du musst eine if oder while schleife bauen und immer wieder abfragen, bis das richtige Ergebnis ausgegeben wird. Dabei zählst du einen Zähler hoch. Sollte das Ergebnis nach z.B. 20 Abfragen (die jeweils eine 1 Sekunde Pause beinhalten) immer noch negativ sein, läuft der Dienst wirklich nicht.

Den Rest erfährst du über Google, das dir auch treffer hier im Forum zeigen wird ;)
Mitglied: SlainteMhath
SlainteMhath 08.03.2022 um 07:17:34 Uhr
Goto Top
Moin,

ich verstehe deine Frage nicht ganz. Der Aufruf von "Get-Service" blockiert doch die Scriptausführung bis das Ergebnis "da" ist oder der Timeout zuschlägt.

Am besten du postest mal den relevanten Code

lg,
Slainte
Mitglied: NordicMike
NordicMike 08.03.2022 um 07:32:38 Uhr
Goto Top
Der Aufruf von "Get-Service" blockiert doch die Scriptausführung bis das Ergebnis "da" ist oder der Timeout zuschlägt.
Get-Service holt nur den Status ab und antwortet sofort mit "Dienst läuft" oder "Dienst läuft nicht".
Mitglied: TK1987
Lösung TK1987 08.03.2022 aktualisiert um 07:38:33 Uhr
Goto Top
Moin Holger,

das geht mit Out-Host, Out-Default und Out-Null, letzteres natürlich nur, um die Ausgabe zu löschen.

Gruß Thomas
Mitglied: TK1987
TK1987 08.03.2022 aktualisiert um 07:57:15 Uhr
Goto Top
Moin,

Zitat von @SlainteMhath:
ich verstehe deine Frage nicht ganz. Der Aufruf von "Get-Service" blockiert doch die Scriptausführung bis das Ergebnis "da" ist oder der Timeout zuschlägt.
Nein, dem ist nicht so. Merkt man insbesondere, wenn man von mehreren Clients Werte abfragt, dass diese nicht immer in der Reihenfolge angezeigt werden, in der man sie abgefragt hat.

Gruß Thomas
Mitglied: newbi2009
newbi2009 08.03.2022 um 12:15:49 Uhr
Goto Top
vielen Dank für die schnelle Hilfe
Mitglied: TomTomBon
TomTomBon 08.03.2022 um 14:30:39 Uhr
Goto Top
Moin

Kleine Nebenfrage.
Wäre es nicht ganz Oldschool-mäßig möglich, das entsprechend in eine csv zu schreiben?

Also:
?
Mitglied: NordicMike
NordicMike 08.03.2022 um 14:44:26 Uhr
Goto Top
Wäre es nicht ganz Oldschool-mäßig möglich, das entsprechend in eine csv zu schreiben?
Das gleiche Problem, der Service hat noch nicht gestartet und in der CSV steht dann: nicht gestartet.

Eigentlich braucht man sowas in Zeiten von Zabbix und PRTG überhaupt nicht mehr.