oegi99
Goto Top

Powershell: Variabelnamen in einer Schleife hochzählen lassen

Ich arbeite im Moment an einem Script um Active Directory Benutzer automatisch aus einem csv File auszulesen und zu erstellen.
Ein Teil des Script beinhaltet die zuweisung von Gruppen. Das sieht folgendermassen aus.

If ($Person.Gruppe1!="") {Add-ADGroupMember -Identity $Person.Gruppe1 -Members ¨$Username

Nun möchte ich diesen Befehl noch 50 mal ausführen aber statt $Person.Gruppe1 $Person.Gruppe2 verwenden danach 3 usw.

Ich habe mir dies in etwas so vorgestellt:

$i=1
do
{If ($Person.Gruppe[$i]!="") {Add-ADGroupMember -Identity $Person.Gruppe[$i] -Members ¨$Username
$i++
}
while($i!=51)

Leider funktioniert meine Idee nicht. Kann mir jemand weiterhelfen?

Content-Key: 291586

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

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: 114757
Lösung 114757 23.12.2015 aktualisiert um 15:42:20 Uhr
Goto Top
Moin,
Du verwendest falsche Vergleichsoperatoren
Normalerweise macht man das simplerweise so
$users = Import-Csv 'C:\users.csv' -delimiter ";"  
$users | %{
   if ($_.Gruppen -ne ''){  
       $gruppen = $_.Gruppen.split(',')  
       foreach($gruppe in $gruppen){
          Add-ADGroupMember -Identity $gruppe.trim() -Members $_.Username
       }
   }
}

Die CSV dazu sieht dann Beispielsweise so aus:
"Username";"Gruppen"
"MaxMuster";"Gruppe1,Gruppe2,Gruppe3"
"AnnaMusterfrau";"Gruppe2,Gruppe3"
Gruß jodel32
Mitglied: oegi99
oegi99 23.12.2015 um 14:58:54 Uhr
Goto Top
Hallo jodel32

Danke für den schnelle Hilfe. Das was ich oben gepostet habe war nur ein Teil des Scripts.
Danke für den Hinweis mit den Vergleichsoperatoren. Ich begreiffe nicht ganz wie das CSV File Dazu aussehen müsste da du nur den Teil Gruppe einlist welches nur 1 Wert entspricht.
Ich möchte ja in meinem Excel File bis zu 50 Gruppen eintragen können welche dann hinzugefügt werden.
Falls meine Frage nicht gut formuliert war tut mir das leid.

Gruss oegi99
Mitglied: 114757
114757 23.12.2015 aktualisiert um 15:16:33 Uhr
Goto Top
Oben mit Beispiel-CSV ergänzt ..

Viel Erfolg
Und tschüss

p.s. zum Thema findest du hier diverse Threads mit Powershell, einfach mal die Suche an schmeißen, man muss hier ja nicht jedes Thema 100 mal in unterschiedlichen Threads diskutieren !