none
Probleme beim befüllen einer neuen AD Gruppe RRS feed

  • Frage

  • Moin Moin zusammen,

    ich würde gerne die sendeberechtigten User einer Exchangegruppe in einer AD Gruppe unterbringen.

    Das Auslesen ist kein Problem, es werden mir allerdings nur Strings des CanonicalNames übergeben. Mit diesen funktioniert das Befüllen der neuen Gruppe nicht.

    Kann mir hier einer einen Tip geben und mich in die richtige Richtung schubsen?

    Viele Grüße aus Hamburg

    Tim

    $Troublegroup = Read-Host -Prompt "Bitte Problemgruppe eintragen"
    $NewAdGroupName = "<Prefix>" + $Troublegroup
    
    
    $AllowedUsers = (Get-DistributionGroup -Identity $Troublegroup).AcceptMessagesOnlyFrom
    
    
    new-ADGroup -Path "<Unser Pfad>" -name $NewAdGroupName -GroupScope Universal -GroupCategory Security
    
    Add-ADGroupMember -Identity $NewAdGroupName -Members $Berechtigte

    Dienstag, 17. September 2019 08:14

Antworten

  • Ach ... jetzt hab ich erst kappiert, was Du meinst ... ja ... nach dem CanonicalName kann man schlecht suchen ... ;-)

    Bill Stewart hat ein kleines feines Modul - ADName - geschreiben, mit dem man den CanonicalName in z.B. den DN umwandeln kann.


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert Timson_Hamburg Mittwoch, 18. September 2019 10:22
    Dienstag, 17. September 2019 11:52
  • Ein kleiner Hinweis noch: im Parameter -Members von Add-ADGroupMember wird eine kommaseparierte Variable erwartet. Entweder entsprechend den Inhalt der Variable mit den Usern vorbereiten oder ein foreach um das Add-ADGroupMember bauen.

    • Bearbeitet cc_______ Dienstag, 17. September 2019 13:29
    • Als Antwort markiert Timson_Hamburg Mittwoch, 18. September 2019 10:22
    Dienstag, 17. September 2019 12:53
  • Ein kleiner Hinweis noch: im Parameter -Member von Get-ADGroupMember wird eine kommaseparierte Variable erwartet. Entweder entsprechend den Inhalt der Variable mit den Usern vorbereiten oder ein foreach um das Add-ADGroupMember bauen.

    Das cmdlet Get-ADGroupMember hat keinen Parameter -Member. Ich geh mal davon aus, dass Du das genau umgedreht meintest.

    Der Parameter -Members (Mehrzahl ;-) ) von Add-ADGroupMember erwartet ein oder mehrere Werte, die entweder als Array oder als kommaseparierte Liste übergeben werden können. ;-)


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert Timson_Hamburg Mittwoch, 18. September 2019 10:22
    Dienstag, 17. September 2019 13:01

Alle Antworten

  • Du erzeugst eine Variable $AllowedUsers und benutzt sie nicht. Du benutzt eine Variable $Berechtigte, hast sie aber gar nicht erzeugt/befüllt.  ;-)

    Ich würde Dir empfehlen, zum erstellen von Scripten VSCode zu benutzen. Dort bekomsmt Du viele Hilfen, die solche Schusselfehler vermeiden helfen.


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Dienstag, 17. September 2019 10:12
  • $Troublegroup = Read-Host -Prompt "Bitte Problemgruppe eintragen"
    $NewAdGroupName = "SG-EIL-Verteilerber-" + $Troublegroup
    
    
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://eilmsx/PowerShell/" -Authentication Kerberos   
    Import-PSSession -Session $Session -AllowClobber
    
    $AllowedUsers = (Get-DistributionGroup -Identity $Troublegroup).AcceptMessagesOnlyFrom
    $test  = Get-DistributionGroup -Identity $Troublegroup
    
    new-ADGroup -Path "OU=Gruppen,OU=EIL,OU=Cluster 4,OU=_Schoen Kliniken,DC=sk-ad,DC=de" -name $NewAdGroupName -GroupScope Universal -GroupCategory Security
    
    Add-ADGroupMember -Identity $NewAdGroupName -Members $AllowedUsers

    Hatte in der ISE mit Steroids f2 für das Editieren der gleichen Variablen gedrückt, aber hat wohl nicht funktioniert.

    Allerdings hatte ich vorher an beiden Stellen das Array $Berechtigte stehen.

    Dienstag, 17. September 2019 10:17
  • Ach ... jetzt hab ich erst kappiert, was Du meinst ... ja ... nach dem CanonicalName kann man schlecht suchen ... ;-)

    Bill Stewart hat ein kleines feines Modul - ADName - geschreiben, mit dem man den CanonicalName in z.B. den DN umwandeln kann.


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert Timson_Hamburg Mittwoch, 18. September 2019 10:22
    Dienstag, 17. September 2019 11:52
  • Ein kleiner Hinweis noch: im Parameter -Members von Add-ADGroupMember wird eine kommaseparierte Variable erwartet. Entweder entsprechend den Inhalt der Variable mit den Usern vorbereiten oder ein foreach um das Add-ADGroupMember bauen.

    • Bearbeitet cc_______ Dienstag, 17. September 2019 13:29
    • Als Antwort markiert Timson_Hamburg Mittwoch, 18. September 2019 10:22
    Dienstag, 17. September 2019 12:53
  • Ein kleiner Hinweis noch: im Parameter -Member von Get-ADGroupMember wird eine kommaseparierte Variable erwartet. Entweder entsprechend den Inhalt der Variable mit den Usern vorbereiten oder ein foreach um das Add-ADGroupMember bauen.

    Das cmdlet Get-ADGroupMember hat keinen Parameter -Member. Ich geh mal davon aus, dass Du das genau umgedreht meintest.

    Der Parameter -Members (Mehrzahl ;-) ) von Add-ADGroupMember erwartet ein oder mehrere Werte, die entweder als Array oder als kommaseparierte Liste übergeben werden können. ;-)


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert Timson_Hamburg Mittwoch, 18. September 2019 10:22
    Dienstag, 17. September 2019 13:01
  • Natürlich meinte ich -Members ... habe es entsprechend in meinem Beitrag korrigiert. :)
    Dienstag, 17. September 2019 13:18
  • ;-)  ... da hast Du mich missverstanden ... das war nicht der eigentliche Fehler.  Du hast Get-ADGroupMember und Add-ADGroupMember vertauscht.

    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Dienstag, 17. September 2019 13:27
  • OK, nun ist der Groschen gefallen und korrigiert...
    Dienstag, 17. September 2019 13:31