jannik2018
Goto Top

Powershell CSV Import

Hallo zusammen,

aktuell versuche ich via Powershell Benutzer inklusive Attribute Mail, vorname, name usw. per CSV in Gruppen zu schieben.

bisher muss die Gruppe jedoch im Powershellscript angegeben werden.
ich möchte jedoch da es sich um unterschiedliche Gruppen in dem CSV handelt das die Abfrage der Gruppe über die weitere Spalte erfolgt.
folgendes habe ich bereits versucht:

# Inhalt der CSV-Datei in Variable importieren
$users = Import-CSV C:\temp\groups.csv -Delimiter ";"  

# Schleife zur Konfiguration der Benutzer pro Zeile
ForEach ($user in $users)
   {
   # VARIABLE = $Zeile der CSV-Datei.Spaltenname
   $username = $user.Benutzername
   $groupname = $user.Gruppe

   # Benutzer zu Gruppe hinzufügen
   Add-ADGroupMember -Identity $_ -Members "$username"  
   }
dabei erhalte ich noch folgenden fehler
screenshot 2022-01-07 170525

kann mir jemand helfen

Grüße

Jannik

Content-ID: 1699864958

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

Printed on: October 15, 2024 at 02:10 o'clock

em-pie
em-pie Jan 07, 2022 updated at 16:15:29 (UTC)
Goto Top
Moin,

Dein $_ ist nach dem Identity ist Quatsch.
Trag da $Username ein und gut.
Alternativ: $user.Benutzername

Gruß
em-pie
149569
149569 Jan 07, 2022 updated at 16:22:27 (UTC)
Goto Top
Zitat von @em-pie:
Dein $_ ist nach dem Identity ist Quatsch.
Trag da $Username ein und gut.
Du meinst wohl $groupname.

# ...
# Benutzer zu Gruppe hinzufügen
 Add-ADGroupMember -Identity $groupname -Members $username
Jannik2018
Jannik2018 Jan 07, 2022 at 16:28:08 (UTC)
Goto Top
Zitat von @149569:

Zitat von @em-pie:
Dein $_ ist nach dem Identity ist Quatsch.
Trag da $Username ein und gut.
Du meinst wohl $groupname.

# ...
# Benutzer zu Gruppe hinzufügen
 Add-ADGroupMember -Identity $groupname -Members $username

Leider noch da der Fehler
siehe
screenshot 2022-01-07 172724
149569
149569 Jan 07, 2022 updated at 17:14:23 (UTC)
Goto Top
Wie sieht denn deine CSV genau aus, entweder du verwendest den falschen Delimiter oder es gibt die Überschrift darin nicht (Tippfehler oder falsche Bezeichnung) oder das Feld ist eben leer wie die Fehlermeldung schon sagt. Lass dir einfach die Variablen auf der Konsole ausgeben dann siehst du was darin steht!
Jannik2018
Jannik2018 Jan 07, 2022 updated at 17:22:49 (UTC)
Goto Top
Zitat von @149569:

Wie sieht denn deine CSV genau aus, entweder du verwendest den falschen Delimiter oder es gibt die Überschrift darin nicht (Tippfehler oder falsche Bezeichnung) oder das Feld ist eben leer wie die Fehlermeldung schon sagt. Lass dir einfach die Variablen auf der Konsole ausgeben dann siehst du was darin steht!

CSV Inhalt:
screenshot 2022-01-07 182056

Ohh ich glaube der Delimiter bei Calc ist ein Komma
149569
149569 Jan 07, 2022 updated at 17:28:39 (UTC)
Goto Top
Ohh ich glaube der Delimiter bei Calc ist ein Komma
Natürlich sollte man das Teil vorher mit einem Editor öffnen und sich vergewissern! Wenn der tatsächlich ein Komma ist dann ist klar das es so nicht funktionieren kann weil dann die Import-CSV-Funktion die Felder nicht korrekt zuordnen kann und du musst beim Import-CSV den Delimiter anpassen...
Jannik2018
Jannik2018 Jan 07, 2022 at 17:34:02 (UTC)
Goto Top
Zitat von @149569:

Ohh ich glaube der Delimiter bei Calc ist ein Komma
Natürlich sollte man das Teil vorher mit einem Editor öffnen und sich vergewissern! Wenn der tatsächlich ein Komma ist dann ist klar das es so nicht funktionieren kann weil dann die Import-CSV-Funktion die Felder nicht korrekt zuordnen kann und du musst beim Import-CSV den Delimiter anpassen...

Ja daran lag es habt ihr Vorschläge wie ich dort noch weitere Attribute s.o. reinbekomme?
149569
149569 Jan 07, 2022 updated at 17:44:22 (UTC)
Goto Top
Zitat von @Jannik2018:
Ja daran lag es habt ihr Vorschläge wie ich dort noch weitere Attribute s.o. reinbekomme?
Wie meinen ? Einfach die Spalten hinzufügen die du brauchst, und dann benutzen und die Daten mit Set-ADUser dem User hinzufügen.
Jannik2018
Jannik2018 Jan 07, 2022 at 17:46:25 (UTC)
Goto Top
Zitat von @149569:

Zitat von @Jannik2018:
Ja daran lag es habt ihr Vorschläge wie ich dort noch weitere Attribute s.o. reinbekomme?
Wie meinen ? Einfach die Spalten hinzufügen die du brauchst, und dann benutzen und die Daten mit Set-ADUser dem User hinzufügen.

Der User hat die Daten schon sie müssen ebenfalls importiert werden
em-pie
em-pie Jan 07, 2022 at 18:46:54 (UTC)
Goto Top
Zitat von @149569:

Zitat von @em-pie:
Dein $_ ist nach dem Identity ist Quatsch.
Trag da $Username ein und gut.
Du meinst wohl $groupname.

# ...
# Benutzer zu Gruppe hinzufügen
 Add-ADGroupMember -Identity $groupname -Members $username

Jo, hast recht. Asche auf mein Haupt -.-
148656
148656 Jan 07, 2022 at 19:19:59 (UTC)
Goto Top
Wenn du glaubst, der Delimiter ist ein Kommata (,). Warum steht dann in deinem Import-csv ein Semikolon (;)?

Tipp doch mal
Get-Content C:\temp\groups.csv 
ein und mach aus dem "Glauben" einfach "Wissen".
Jannik2018
Jannik2018 Jan 07, 2022 at 20:09:27 (UTC)
Goto Top
Zitat von @148656:

Wenn du glaubst, der Delimiter ist ein Kommata (,). Warum steht dann in deinem Import-csv ein Semikolon (;)?

Tipp doch mal
Get-Content C:\temp\groups.csv 
ein und mach aus dem "Glauben" einfach "Wissen".

Das war ja der Fehler
148656
148656 Jan 08, 2022 at 06:49:01 (UTC)
Goto Top
Und wenn dein Delimiter ein Tabulator gewesen wäre? Oder ein anderes? Die Auswahl ist ja nicht unbedingt klein. Willst du immer erst alle Varianten ausprobieren? Oder jedes Mal hier im Forum nachfragen, welches Zeichen es sein könnte? Das Öffnen der CSV-Datei mit einem Tabellenkalkulationsprogramm gibt dir keinen Aufschluss darüber, welcher Delimiter verwendet wurde.
149569
149569 Jan 08, 2022 updated at 07:04:54 (UTC)
Goto Top
Zitat von @Jannik2018:

Zitat von @149569:

Zitat von @Jannik2018:
Ja daran lag es habt ihr Vorschläge wie ich dort noch weitere Attribute s.o. reinbekomme?
Wie meinen ? Einfach die Spalten hinzufügen die du brauchst, und dann benutzen und die Daten mit Set-ADUser dem User hinzufügen.

Der User hat die Daten schon sie müssen ebenfalls importiert werden

Na dann ran an die Buletten, das Handwerkszeug hast du ja nun dafür.

Bitte Thread dann auch schließen.
Jannik2018
Jannik2018 Jan 08, 2022 at 12:28:32 (UTC)
Goto Top
Zitat von @148656:

Und wenn dein Delimiter ein Tabulator gewesen wäre? Oder ein anderes? Die Auswahl ist ja nicht unbedingt klein. Willst du immer erst alle Varianten ausprobieren? Oder jedes Mal hier im Forum nachfragen, welches Zeichen es sein könnte? Das Öffnen der CSV-Datei mit einem Tabellenkalkulationsprogramm gibt dir keinen Aufschluss darüber, welcher Delimiter verwendet wurde.

Ich habe nicht hier Im Forum dannach gefragt sondern es selbst iroiert
Jannik2018
Jannik2018 Jan 08, 2022 at 12:36:20 (UTC)
Goto Top
Zitat von @149569:

Zitat von @Jannik2018:

Zitat von @149569:

Zitat von @Jannik2018:
Ja daran lag es habt ihr Vorschläge wie ich dort noch weitere Attribute s.o. reinbekomme?
Wie meinen ? Einfach die Spalten hinzufügen die du brauchst, und dann benutzen und die Daten mit Set-ADUser dem User hinzufügen.

Der User hat die Daten schon sie müssen ebenfalls importiert werden

Na dann ran an die Buletten, das Handwerkszeug hast du ja nun dafür.

Bitte Thread dann auch schließen.

Der Thread kann noch nicht geschlossen werden, weil die Information der Erweiterung des Imports noch fehlt "Attribute Mail, vorname, name usw. per CSV in Gruppen zu schieben"

Ich hatte es jetzt mal mit weiteren Variablen versucht jedoch lassen diese sich nicht so einfach hinten anheften

   # VARIABLE = $Zeile der CSV-Datei.Spaltenname
   $username = $user.Benutzername
   $groupname = $user.Gruppe
   $surname=$user.SurName
   $mail=$user.Mail

   # Benutzer zu Gruppe hinzufügen
   Add-ADGroupMember -Identity $_ -Members "$username", "$mail", "surname"  
   }

villeicht wird es dadurch deutlicher was ich meine
149569
149569 Jan 08, 2022 updated at 13:13:17 (UTC)
Goto Top
Zitat von @Jannik2018:
Der Thread kann noch nicht geschlossen werden, weil die Information der Erweiterung des Imports noch fehlt "Attribute Mail, vorname, name usw. per CSV in Gruppen zu schieben"

Ich hatte es jetzt mal mit weiteren Variablen versucht jedoch lassen diese sich nicht so einfach hinten anheften

   # VARIABLE = $Zeile der CSV-Datei.Spaltenname
   $username = $user.Benutzername
   $groupname = $user.Gruppe
   $surname=$user.SurName
   $mail=$user.Mail

   # Benutzer zu Gruppe hinzufügen
   Add-ADGroupMember -Identity $_ -Members "$username", "$mail", "surname"  
   }

Das ist ja auch völliger Blödsinn, sorry. aber wenn du mal minimal nachgedacht hättest, hätte es klick gemacht und du hättest gemerkt das das völlig falsche CMDLet dafür ist!! Du hast wohl eine ziemlich derbe Blockade, schau dir das verlinkte CMDLet oben an (Set-ADUser) damit macht man das Hinzufügen von Attributen zu einem User-Account und nicht mit Add-ADGroupMember, denn damit fügt man einzig und allen nur Mitglieder einer Gruppe hinzu keine Attribute!.

Schau mal hier rein
Set-ADUser - Füllen des Felds "Location" funktioniert nicht
Da findest du ein fertiges Skript mit dem sich User-Attribute sicher aktualisieren lassen denn dabei gibt es ein paar Dinge zu beachten.
Jannik2018
Jannik2018 Jan 09, 2022 at 12:38:05 (UTC)
Goto Top
Zitat von @Jannik2018:

Hallo zusammen,

aktuell versuche ich via Powershell Benutzer inklusive Attribute Mail, vorname, name usw. per CSV in Gruppen zu schieben.

bisher muss die Gruppe jedoch im Powershellscript angegeben werden.
ich möchte jedoch da es sich um unterschiedliche Gruppen in dem CSV handelt das die Abfrage der Gruppe über die weitere Spalte erfolgt.
folgendes habe ich bereits versucht:

# Inhalt der CSV-Datei in Variable importieren
$users = Import-CSV C:\temp\groups.csv -Delimiter ";"  

# Schleife zur Konfiguration der Benutzer pro Zeile
ForEach ($user in $users)
   {
   # VARIABLE = $Zeile der CSV-Datei.Spaltenname
   $username = $user.Benutzername
   $groupname = $user.Gruppe

   # Benutzer zu Gruppe hinzufügen
   Add-ADGroupMember -Identity $_ -Members "$username"  
   }
dabei erhalte ich noch folgenden fehler
screenshot 2022-01-07 170525

kann mir jemand helfen

Grüße

Jannik
Ich möchte aber nichts neu Setzen sondern Importieren SetADUser erstellt nur einträge und importiert nichts
149569
149569 Jan 09, 2022 updated at 13:16:29 (UTC)
Goto Top
Zitat von @Jannik2018:
Ich möchte aber nichts neu Setzen sondern Importieren
Was bedeutet für dich denn "Importieren"?? Das kann viel heißen, über nur verändert importieren oder neu erstellt importieren besteht ein großer Unterschied. Also bitte dein Vorhaben exakt erläutern, Danke!
SetADUser erstellt nur einträge und importiert nichts
Erneut vollkommener Blödsinn wenn du dir die Doku zumindest mal angesehen hättest!! Es verändert die Attribute von bereits bestehenden User-Accounts und zwar nur die die du mit den Parametern angibst!
Wenn du dagegen neue User in der Domäne erstellen willst dann musst du natürlich New-ADUser benutzen.

So langsam komme ich mir hier verkackeiert vor, mal ehrlich wenn man noch nicht mal die Links liest die man einem vorlegt geschweige denn eine eindeutige Vorhabensbeschreibung abliefern kann bin ich hier raus ... Freitag ist nun wirklich schon lange vorbei face-confused.