none
Benutzer zu einer AD-Gruppe hinzu fügen RRS feed

  • Frage

  • Hallo Zusammen,

    ich versuche das erste mal eine Gruppe von User zu eine AD-Gruppe hinzu zu fügen.

    Das geht alles wunderbar solange ich einen User manuell angebe.

    Sobald ich die User einer Variablen übergebe, klappt das nicht mehr.

    Was ist hier falsch?

    set-psdebug -strict
    
    $OU1 = "OU=Win10,OU=User,OU=fou-newenerg,DC=main,DC=corp,DC=test,DC=com"
    $OU2 = "OU=Win10,OU=User,OU=sou-versuch,DC=main,DC=corp,DC=test,DC=com"
    
    $adusers =@(Get-ADUser -SearchBase $OU2 -Filter * -Properties * | where {$_.Department -like "Finanzen & Dienste"  -and $_.Enabled -eq $True} | select  CN )
    
    #$adusers | Export-Csv -Path C:\Scripts\AGROLA\AGROLAUser3.txt -Delimiter ";" -Encoding UTF8
    #get-Help add-adgroupMember 
    #add-adgroupMember -Identity agrola-ggc-wint_group_FUD_Controlling -Members "jann.pargaetzi@agrola.ch" -WhatIf
    #add-adgroupMember agrola-ggc-wint_group_FUD_Controlling  "jann.pargaetzi", "roland.karesch", "anja.gisler", "mathias.kleiner", "veronica.giusto"  
    add-adgroupMember -Identity agrola-ggc-wint_group_FUD_Controlling  -Members $adusers

    Kann mir jemand auf die Sprünge helfen?
    Danke
    Snoopy


    Snoopy1959 @ msdn SQL Server

    Montag, 9. November 2020 17:47

Antworten

  • Moin,

    alle Properties abzurufen, um nur eine davon weiterzugeben, ist kaum effizient ;-) Deine Where-Bedingung sollte der Filter sein, dann brauchst Du auch keine zusätzlichen Properties.

    Viel gravierender ist jedoch, dass 'CN' ja kein identifizierendes Merkmal ist, denn der CN kann ja beliebig oft vorkommen, nur halt nicht mehrmals in derselben OU. Aber im Prinzip kannst Du die gefilterten User ja direkt übergeben, nicht per Attribut:

    $users = Get-ADUser -Filter {Department -like "Finanzen & Dienste" -and Enabled -eq $true}
    Add-ADGroupMember -Identity agrola-ggc-wint_group_FUD_Controlling -Memebrs $users


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Montag, 9. November 2020 19:20

Alle Antworten

  • Moin,

    alle Properties abzurufen, um nur eine davon weiterzugeben, ist kaum effizient ;-) Deine Where-Bedingung sollte der Filter sein, dann brauchst Du auch keine zusätzlichen Properties.

    Viel gravierender ist jedoch, dass 'CN' ja kein identifizierendes Merkmal ist, denn der CN kann ja beliebig oft vorkommen, nur halt nicht mehrmals in derselben OU. Aber im Prinzip kannst Du die gefilterten User ja direkt übergeben, nicht per Attribut:

    $users = Get-ADUser -Filter {Department -like "Finanzen & Dienste" -and Enabled -eq $true}
    Add-ADGroupMember -Identity agrola-ggc-wint_group_FUD_Controlling -Memebrs $users


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Montag, 9. November 2020 19:20
  • Hallo Smirnov,

    DAnke für Deinen Input.

    Leider geht das bei mir nicht. Ich bekomme die Meldung:

    Get-ADUser : A positional parameter cannot be found that accepts argument 'Add-ADGroupMember'.
    At line:1 char:10
    + $users = Get-ADUser -Filter {Department -like "Finanzen & Dienste" -a ...
    +          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidArgument: (:) [Get-ADUser], ParameterBindingException
        + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADUser

    Was läuft hier noch falsch?

    Gruss Stephan


    Snoopy1959 @ msdn SQL Server

    Freitag, 13. November 2020 14:10
  • Hallo Smirnov,

    nun habe ich eine Anpassung gemacht und siehe da es läuft

    $users = Get-ADUser -Filter {Department -like "Finanzen & Dienste" -and Enabled -eq $true} | select  SamAccountName
    Add-ADGroupMember -Identity agrola-ggc-wint_group_FUD_Controlling -Members $users

    der Teil | Select SamAccountName hat gefehlt.

    Wie müsste ich zu werke gehen, wenn ich die Gruppen 

    agrola-ggc-wint_group_FUD_* 

    benutzen möchte.
    Mit welchem Platzhalter bekomme ich alle Gruppen in die Variable $Gruppen?

    Gruss und danke für die Hilfe

    Snoopy


    Snoopy1959 @ msdn SQL Server

    Freitag, 13. November 2020 14:29

  • der Teil | Select SamAccountName hat gefehlt.

    Eigentlich nicht, denn durch Select-Object bekommst Du ja nicht eine Liste von sAMAccountNames, sondern immer noch eine Liste von Objekten, die jeweils nur die Property sAMAccountName haben. Eine Liste von Strings würdest Du erst mit -ExpandProperty kriegen.

    Ist aber nicht nötig. Hier im Test funktioniert es auch mit "ganzen Usern" als Wert.

    Vielmehr, was ja die Fehlermeldung auch besagt, hast Du beim Kopieren aus dem Forum beide Befehle auf eine Zeile gesetzt.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Freitag, 13. November 2020 16:56

  • Wie müsste ich zu werke gehen, wenn ich die Gruppen 

    agrola-ggc-wint_group_FUD_* 

    benutzen möchte.
    Mit welchem Platzhalter bekomme ich alle Gruppen in die Variable $Gruppen?

    Mit 

    $Groups = Get-ADGroup -Filter {Name -like "agrola-ggc-wint_group_FUD_*"}
    Durch diese musst Du dann eine Schleife fahren.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Freitag, 13. November 2020 17:02