none
Mehrere Benutzer aus CSV einer Gruppe hinzufügen RRS feed

  • Frage

  • Hallo zusammen,

    ich habe ein kleines Problem mit dem CMDLet add-adgroupmember

    Hier das simple Skript:

    cls
    Import-module ActiveDirectory  
    $Matches = Import-CSV -Path "C:\temp\groups.csv" -Delimiter ";"
    
    ForEach ($Match in $Matches)
    {
    	$gName = $Match.Groupname
    	$Members = $Match.Members
    	Add-ADGroupMember -Identity $gname -Member $Members -WhatIf
    }

    Nun sieht das CSV folgendermassen aus:

    Groupname;Members
    GA-w7test-RF-C;test.user,florian.reck

    Mein Problem: Habe ich unter Members nur einen Benutzer drin, funktioniert es. Sind es mehrere, bekomme ich folgende Fehlermeldung:

    kann kein Objekt mit der ID "test.user,florian.reck" gefunden werden

    der Befehl in der PoSH ISE

    Add-ADGroupMember -Identity Testgruppe -Member test.user,florian.reck -WhatIf

    Funktioniert aber.... Was mache ich falsch?

    Grüsse

    Florian Reck


    Schaue auf niemanden herab, es sei denn, du willst ihm aufhelfen...

    Freitag, 13. September 2013 11:28

Antworten

  • Hallo,

    wenn Du einfach die Variable $Members ausgibts sieht es vermutlich so aus, "test.user,florian.reck". das wird dann von get-adgroubmember als ein User interpretiert denn es so nicht gibt, also muessen die Anfuerungszeichen weg, die durch den Import-CSV generiert werden.

    Fuege mal folgende Zeile vr Add-Ad.. ein und versuche es:

    $Members  = $Members -replace '"',''

    Beste Gruesse
    brima
    • Als Antwort markiert Florian Reck Freitag, 13. September 2013 11:54
    Freitag, 13. September 2013 11:46

Alle Antworten

  • Hallo,

    wenn Du einfach die Variable $Members ausgibts sieht es vermutlich so aus, "test.user,florian.reck". das wird dann von get-adgroubmember als ein User interpretiert denn es so nicht gibt, also muessen die Anfuerungszeichen weg, die durch den Import-CSV generiert werden.

    Fuege mal folgende Zeile vr Add-Ad.. ein und versuche es:

    $Members  = $Members -replace '"',''

    Beste Gruesse
    brima
    • Als Antwort markiert Florian Reck Freitag, 13. September 2013 11:54
    Freitag, 13. September 2013 11:46
  • Hallo brima,

    super, das war's und ist sehr elegant... Habe zwischenzeitlich eine andere Lösung gefunden:

    cls
    Import-module ActiveDirectory  
    $Matches = Import-CSV -Path "C:\temp\groups.csv" -Delimiter ";"
    
    ForEach ($Match in $Matches)
    {
    	$gName = $Match.Groupname
    	$Members = $Match.Members
    	$a = $Members -split ","
    	
    	forEach ($Member in $a)
    	{	
    		Add-ADGroupMember -Identity $gname -members $Member -WhatIf
    	}
    }

    Man sieht, viele Wege führen zum Resultat, wobei deine deutlich Leistungsfähiger ist.

    Vielen Dank

    Florian

     

    Schaue auf niemanden herab, es sei denn, du willst ihm aufhelfen...

    Freitag, 13. September 2013 11:57