AD-Gruppe erstellen per PS
Hallo zusammen,
ich versuche mehere Gruppen im AD zu erstellen indem ich die Namen aus einer CSV auslese und dann wie folgt erstelle:
import-csv -path C:\temp\neuegruppen.csv |
%{New-ADGroup -Name "$_" -GroupCategory Security -GroupScope Universal -Path "OU=gruppe,DC=einfügen,DC=de" -Description "text"}
Der Inhalt der CSV ist etwa so gestaltet:
Name
Gruppe1
Gruppe2
Gruppe3
Wenn ich per -whatif den Code ausführe erhalte ich folgende Meldung:
WhatIf: Ausführen des Vorgangs "New" für das Ziel "CN=@{name\=Gruppe1},OU=gruppe,DC=einfügen,DC=de".
Und bei einem richtigen Versuch: Der angegebene Name hat ein falsches Format für einen Kontennamen
Kann mir jemand sagen, was ich hier falsch mache?
Vielen Dank für eure Zeit!
Rindvieh
ich versuche mehere Gruppen im AD zu erstellen indem ich die Namen aus einer CSV auslese und dann wie folgt erstelle:
import-csv -path C:\temp\neuegruppen.csv |
%{New-ADGroup -Name "$_" -GroupCategory Security -GroupScope Universal -Path "OU=gruppe,DC=einfügen,DC=de" -Description "text"}
Der Inhalt der CSV ist etwa so gestaltet:
Name
Gruppe1
Gruppe2
Gruppe3
Wenn ich per -whatif den Code ausführe erhalte ich folgende Meldung:
WhatIf: Ausführen des Vorgangs "New" für das Ziel "CN=@{name\=Gruppe1},OU=gruppe,DC=einfügen,DC=de".
Und bei einem richtigen Versuch: Der angegebene Name hat ein falsches Format für einen Kontennamen
Kann mir jemand sagen, was ich hier falsch mache?
Vielen Dank für eure Zeit!
Rindvieh
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 665690
Url: https://administrator.de/forum/ad-gruppe-erstellen-per-ps-665690.html
Ausgedruckt am: 30.04.2025 um 15:04 Uhr
4 Kommentare
Neuester Kommentar

Moin.
Dein Fehler ist das Import-CSV per Default davon ausgeht das die CSV Überschriften hat, da du hier offensichtlich keine hast nimmt sie an das das "Gruppe1" dein Header ist und bei Nutzung von $_ übernimmst du ein Object statt einem String. Also entweder den Header per Parameter explizit angeben und die Property dann im ForEach explizit auswählen.
oder alternativ gleich per Get-Content einlesen wenn sowieso nur eine Spalte vorhanden ist
Gruß w.
Dein Fehler ist das Import-CSV per Default davon ausgeht das die CSV Überschriften hat, da du hier offensichtlich keine hast nimmt sie an das das "Gruppe1" dein Header ist und bei Nutzung von $_ übernimmst du ein Object statt einem String. Also entweder den Header per Parameter explizit angeben und die Property dann im ForEach explizit auswählen.
import-csv -path 'C:\temp\neuegruppen.csv' -Header 'Gruppe' | %{New-ADGroup -Name $_.Gruppe -GroupCategory Security -GroupScope Universal -Path "OU=gruppe,DC=einfügen,DC=de" -Description "text"}
Get-Content 'C:\temp\neuegruppen.csv' | %{New-ADGroup -Name $_ -GroupCategory Security -GroupScope Universal -Path "OU=gruppe,DC=einfügen,DC=de" -Description "text"}

Schau dir meine erste Zeile nochmal ganz genau an dort übergebe ich den Spaltennamen explizit an New-AdGroup, diesen musst du dann in dem Fall auf deinen Spaltennamen "Name" ändern
Das hast du wohl vergessen ...
Wenn deine CSV bereits einen Header hat musst du natürlich den -Header Parameter weglassen, der ist nur für den Fall wenn du der CSV keinen Header hinzufügen könntest!!
Doku lesen hilft übrigens auch das Brett vorm Kopf zu lösen 😜
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
New-AdGroup -Name $_.Name ..........
Wenn deine CSV bereits einen Header hat musst du natürlich den -Header Parameter weglassen, der ist nur für den Fall wenn du der CSV keinen Header hinzufügen könntest!!
Doku lesen hilft übrigens auch das Brett vorm Kopf zu lösen 😜
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...