Lokaler check, Powershell, mehrfache Ausgabe

Hallo Forum,

derzeitig beschäftige ich mich mit lokalen Checks und einem Powershellscript:

Das Script sucht nach allen “Windows Servern” in einer Domäne,
danach sollen die gefundenen Server nach zwei bestimmten AD Gruppen nochmals durchsucht werden. Das Ergebnis → sind beide Gruppen dem Computer enthalten soll es ein “0 OK” geben, fehlt mind. eine Grp ein “2 CRIT”.

Die Ausgabe des Scriptes funktioniert soweit und, dass ist jetzt das Problem, werden natürlich mehr als ein Objekt angezeigt. Wird der lokale Check zugewiesen, wird nur der letzte Server aus dem Script angezeigt. Ziel ist aber, dass +alle+ Server entsprechend angezeigt werden (sollen).

Weiterer Hinweis; es funktioniert fehlerfrei, wenn dieser lokale Check auf allen Servern zugewiesen wird. Dafür müsste aber das “Active Directory module for Windows Powershell” Feature nachinstalliert werden. Aufgrund Sicherheit, soll das aber nicht erfolgen, sondern lediglich auf einem Host, welcher dazu verwenden werden soll, alle anderen abfragen zu können.

Im Handbuch steht zwar ein mehrzeiliger Auszug ist mit \n möglich, bin mir aber nicht sicher, ob das aber überhaupt so funktioniert.

Über Tipps und Hinweise würde ich mich freuen!! Vielen Dank vorab.
Gruß
Timo

Hi Timo,

kannst du evtl. den Script-Code und output teilen? Bin mir nicht sicher, ob ich deiner Beschreibung 100%ig folgen kann. Am besten die “preformated Text” Markup funktion nutzen, dann zerlegt es den Code auch nicht so :wink:

Gerd

1 Like

Hallo Gerd,

danke für deinen Tipp, klappt aber leider auch nicht.
Schlimmsten Fall muss ich ein Ticket investieren :slight_smile:

Mir ist schon bewusst, dass dies eine ungewöhnliche Anforderung ist,
aber hätte mich schon interessiert, ob es überhaupt möglich ist.

Nochmals Danke!!
Viele Grüße
Timo

Bei lokal Checks gilt erstmal jede neue Zeile ein Check. Das \n kann verwendet werden wenn die Scriptausgabe zwar in der einen Zeile alles enthalten ist aber im CMK dann mehrzeilig dargestellt werden soll.

Im Endeffekt muss dein Script eine Schleife durchlaufen und für jeden Server eine lokal Check Zeile ausgeben mit dem Ergebnis für diesen einen Server.
Du kannst sogar soweit gehen und einen Piggyback Header mit jedem Hostnamen erzeugen und die Checks werden dann ordentlich den einzelnen Servern zugeordnet.
Eine Bedingung gibt es natürlich bei der Schleife die Namen der Lokal Checks müssen natürlich einzigartig sein wenn alle Checks auf einem Host angezeigt werden sollen.
Damit dürfte sich der Fehler

erklären.

Deine Ausgabe sieht zur Zeit etwa so aus

0 AD_Check - Server A gefunden in den Gruppen blub
0 AD_Check - Server B gefunden in den Gruppen blub
2 AD_Check - Server C nicht gefunden in den Gruppen

Die Ausgabe muss aber so aussehen

0 AD_Check_A - Server A gefunden in den Gruppen blub
0 AD_Check_B - Server B gefunden in den Gruppen blub
2 AD_Check_C - Server C nicht gefunden in den Gruppen

Wenn du die Option mit den Piggyback Headern machen willst dann kannst auch immer den gleichen Check Namen verwenden.

1 Like

Hallo Andreas,

ja, mit deinem Ausgabebeispiel hast du vollkommen recht, so sieht die Ausgabe des Scriptes aus.

Das ist nochmal ein sehr guter Hinweis, allerdings werde ich dafür ein paar Tage brauchen das umzusetzen. Der Punkt mit dem Piggypack Headern kenne ich so noch nicht und müsste noch wissen, ob oder was ich hier zusätzlich berücksichtigen muss? Reicht die Aktivierung von Piggypack für die einzelnen Hosts aus? Das wäre bereits aktiv…

Vielen Dank für deine Hilfe!!
Timo

Hallo Andreas,

der Hinweis von dir war absolut richtig!!

Im Script brauchte ich nur noch die Variable für den Servernamen, der gefilterten Server, in die Auswertung für “CRIT” verschieben, somit war jede Abfrage quasi als eigener Check hinterlegt.

Somit ist die Anforderung erreicht und man weiß, dass es auch mit einem Check, mehrfache Abfragen und Ausgaben möglich sind.

Vielen Dank!
Timo

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.