rindvieh
Goto Top

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

Content-Key: 665690

Url: https://administrator.de/contentid/665690

Printed on: April 25, 2024 at 11:04 o'clock

Mitglied: 148121
Solution 148121 Apr 13, 2021 updated at 10:52:07 (UTC)
Goto Top
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.
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"}  
oder alternativ gleich per Get-Content einlesen wenn sowieso nur eine Spalte vorhanden ist
Get-Content 'C:\temp\neuegruppen.csv' | %{New-ADGroup -Name $_ -GroupCategory Security -GroupScope Universal -Path "OU=gruppe,DC=einfügen,DC=de" -Description "text"}  
Gruß w.
Member: Rindvieh
Rindvieh Apr 13, 2021 at 11:30:17 (UTC)
Goto Top
Hallo Warranty,

danke dass Du mir wieder geholfen hast!

Bezüglich dem Header hätte ich jedoch noch eine Frage:

In der CSV sollte doch die Erste Zeile als Header genommen werden, also in meinem Beispiel "Name".
Ich habe wie von Dir beschrieben die Änderung vorgenommen und "Name" tauchte dann als Gruppenname auf.

Allerdings erhielt ich wieder die Fehlermelung mit dem falschen Format.

Gibt es noch eine Möglichkeit warum es so nicht geht?

Dein Vorschlag mit get-content hat allerdings problemlos funktioniert. Vielen Dank also nochmal.

Gruß

Rindvieh
Mitglied: 148121
148121 Apr 13, 2021 updated at 12:03:10 (UTC)
Goto Top
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
New-AdGroup -Name $_.Name ..........
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. ...
Member: Rindvieh
Rindvieh Apr 13, 2021 at 12:23:00 (UTC)
Goto Top
Habe es nochmals (und diesmal richtig) ausprobiert und es hat geklappt.

Danke für Deine Geduld!