Seite 1 von 1

Powershell Script gibt mehrere Werte zurück - Wie darüber iterieren/verarbeiten?

Verfasst: Do Mai 12, 2022 4:12 pm
von Shoobdidoo
Hallo zusammen,

ich versuche mich gerade zum ersten mal an einem ClientCommand der Daten von den Clients sammeln soll und diese in der ACMP Datenbank speichern soll. Konkret geht es dabei darum, die Mitglieder der lokalen Administratorengruppe auf den Clients auszulesen und diese in benutzerdefinierten Feldern abzulegen.

Ich bin wie folgt vorgegangen:
  • Ich habe eine benutzerdefinierte 1:n Tabelle "LocalAdminGroupMembers" mit einem einzelnen Feld "Username" angelegt
  • Im Clientcommand iteriere ich über die Clients in der Datenbank

Jetzt kommt der Teil bei dem es hakt:

Der CC führt pro Client ein Powershell-Script aus:

Code: Alles auswählen

$mygroupmembers = Get-LocalGroupMember -Group "Administratoren"
foreach ($member in $mygroupmembers) {
	write-host $member
}
Das Ergebnis des Scripts speichere ich in einer ACMP Variablen %L_ADMINGRP_MEMBERS%. Ich kann im Log sehen, dass die Gruppen korrekt ausgelesen werden und, dass sie in der Variablen gespeichert wurden.

Ich versuche jetzt über "Eigenschaften durchlaufen" über die einzelnen Usernamen zu iterieren um diese dann in der Datenbank in den benutzerdefinierten Feldern abzulegen. Dabei muss ich feststellen, dass die einzelnen Iterationsvariablen "%MYMEMBER%" jeweil keinen Inhalt haben.

Die Frage ist also: Wie kann ich bei einem CC das Ergebnis eines Powershell-Commands, der mehrere Ergebnisitems - sprich Ausgabezeilen hat - korrekt verarbeiten und, in diesem Fall z.B., in der Datenbank speichern?

Im voraus schonmal vielen Dank für jede Hilfe!

Liebe Grüße
Heiko Jung

Re: Powershell Script gibt mehrere Werte zurück - Wie darüber iterieren/verarbeiten?

Verfasst: Fr Mai 13, 2022 11:15 am
von twahl
Hallo,

der Baustein "Eigenschaften durchlaufen" erwartet eine kommagetrennte Liste mit Eigenschaftsnamen ( 0=Benutzer1,1=Benutzer2,2=Benutzer3...).
Man kann auch ein beliebiges Trennzeichen im PowerShell Script bei der Ausgabe ergänzen und das dann mit dem "Split String / Zeichenkette splitten" in so eine Liste umwandeln, man muss nur den count Wert am Ende abfangen. Oder man lässt sich im PowerShell Script eine Textdatei schreiben und kann diese mit "Read from file / Aus Datei lesen" zeilenweise auslesen.

Re: Powershell Script gibt mehrere Werte zurück - Wie darüber iterieren/verarbeiten?

Verfasst: Do Mai 19, 2022 12:30 pm
von Rene
Hi,

ich habe genau das gleiche letztens wie folgt gelöst.

Ist nicht ganz so schön, da mehrere Befehle abgesetzt werden, aber es funktioniert.