none
Powershell AD- Gruppen von einem UserA zu einem anderen UserB kopieren (sozusagen : "Gruppenrechte wie Funktion")

    Frage

  • Hallo zusammen,

    Powershell AD- Gruppen von einem UserA zu einem UserB kopieren  (sozusagen : Gruppenrechte wie Funktion)

    Die Lösung innerhalb einer Domäne war schnell gefunden, aber nun hab ich mehrere Domänen.

    Dies funktioniert:

    $UserSource = 'UserA'
    $UserTarget = 'UserB'
    foreach ($Group in (Get-ADUser $UserSource -Properties memberOf).MemberOf) {
       Add-ADGroupMember -Identity $Group -Members $UserTarget
    }

    Mein Versuch im Domänen-Forest sah so aus :


    $UserSource = 'UserA'
    $UserTarget = 'UserB'

    foreach($Domain in ($Domains))
    {
        
        Foreach($Group in (Get-ADUser $UserSource -Properties memberOf).MemberOf)
        {
           Add-ADGroupMember -Identity $Group -Members $UserTarget
           
        }
    }
           

    Funktioniert aber nicht. Meldung sinngemäß: kann die Gruppe nicht finden(Die User an sich sind in der selben Domäne).DIe Gruppen innerhalb der Domäne kopiert er brav.

    Ich habe mal versucht einen Benutzer via Active Directory-Benutzer und Computerverwaltung zu kopieren. Dort kopiert er nur die lokalen Gruppen und dann kommt die Meldung das er die andern Gruppen nicht finden kann(die außerhalb der einen Domäne).

    Hat jemand eine Lösung ?

    Vielen Dank im voraus

    Freitag, 12. Mai 2017 06:09

Antworten

  • Habe die Lösung. Ich war wohl nicht up2date war die "neueren" Power Shell CMD-Lets angeht.

    Get-ADPrincipalGroupMembership -Identity $UserSource | % {Add-ADPrincipalGroupMembership -Identity $UserTarget -MemberOf $_}

    So einfach.:-)

    Danke für die Unterstützung.

    Dienstag, 16. Mai 2017 10:31

Alle Antworten

  • > Powershell AD- Gruppen von einem UserA zu einem UserB kopieren  (sozusagen : Gruppenrechte wie Funktion)

    Ich kapier's noch nicht ganz... Du möchtest, daß UserB in den gleichen Gruppen ist wie UserA?

    Das geht innerhalb einer Domain natürlich problemlos. Wenn UserB in einer anderen Domain ist, gibt es gleich mehrere offene Fragen:

    1. SOll UserB jetzt wirklich in den gleichen Gruppen sein? Oder sollen es Gruppen in SEINER Domain sein, die nur gleich heißen?
    2. Wenn UserA in Domain Local Groups ist, geht das domänenübergreifend natürlich nicht - dann müßtest Du die entweder weglassen oder in der Domäne von UserB auch haben.
    3. UserA ist nur ein Samaccountname - hat der keine Domänenzugehörigkeit? UserB ebenso... Das würde es evtl. einfacher machen.

    Freitag, 12. Mai 2017 08:21
  • Hallo,

    du müsstest einfach anstelle des DistinguishedName der Gruppe das komplette Objekt verwenden:

    $Group = get-adgroup -identity "Irgendwas" -server $Domain
    $User = get-aduser -identity "SamAccountname"
    Add-adgroupmember -identity $Group -members $User

    Für jede Domäne "suchst" du nach der Gruppe und fügst es dem Benutzerobjekt hinzu.

    Hintergrund: Das CMDlet weiß beim Gruppen-DN halt nicht, welche Domäne dahinter steckt, beim Objekt aber schon.

    MfG, Jannik D.

    Freitag, 12. Mai 2017 11:09
  • Hallo,

    Danke Jannik für den Tip. Aber wie lese ich das "Irgendwas" aus ?. Ich weiß ja die Gruppenzugehöhrigkeit  nicht.

    Die muss ich erstmal auslesen mit DistinguishedName-Ausgabe ?

    Get-ADUser $UserSource -Properties memberOf |select memberof ...das Ergebnis sind die Gruppen kommagetrennt in geschweifter Klammer, wobei er irgendwann das Ergebnis abschneidet ...}

    Montag, 15. Mai 2017 08:16
  • Hallo,

    Martin Binder,

    Ja das möchte ich.

    zu1.) ja User B soll in den gleichen gruppen sein

    zu2.) wir haben nur Universelle Gruppen

    zu3.) beide User sind in der selben Domäne. Es sind normale AD-Benutzer

    Montag, 15. Mai 2017 09:23
  •     Foreach($Group in (Get-ADUser $UserSource -Properties memberOf).MemberOf)

    Da wirst Du hier die Domäne der Gruppe extrahieren müssen (entweder durch String-Massage des DNs oder mittels Get-ADGroup) und...

           Add-ADGroupMember -Identity $Group -Members $UserTarget

    ..hier im Parameter -Server den FQDN der Domäne mit angeben.

    Montag, 15. Mai 2017 12:31
  • Habe die Lösung. Ich war wohl nicht up2date war die "neueren" Power Shell CMD-Lets angeht.

    Get-ADPrincipalGroupMembership -Identity $UserSource | % {Add-ADPrincipalGroupMembership -Identity $UserTarget -MemberOf $_}

    So einfach.:-)

    Danke für die Unterstützung.

    Dienstag, 16. Mai 2017 10:31