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?
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 291586
Url: https://administrator.de/forum/powershell-variabelnamen-in-einer-schleife-hochzaehlen-lassen-291586.html
Ausgedruckt am: 10.05.2025 um 04:05 Uhr
3 Kommentare
Neuester Kommentar

Moin,
Du verwendest falsche Vergleichsoperatoren
Normalerweise macht man das simplerweise so
Die CSV dazu sieht dann Beispielsweise so aus:
Gruß jodel32
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"

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 !
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 !