PowerShell Script
Ich möchte lokal User und Gruppen aus einer csv importieren und Anlegen. Mit speziellen Anmeldenamen und der USer soll in Gruppen die in der csv festgelegt sind. Hat das einer schon mal gemacht und kann mir auf die Sprünge helfen??
Das Skript soll folgende Funktionsumfang haben:
•Es soll für alle diese Benutzer ein Account angelegt werden. Jedem neuen Benutzer ist ein eindeutiges Passwort zuzuordnen.
•Die User / Passwort Zuordnung ist für den Helpdesk zu dokumentieren. Sinnvollerweise sollte die Datei in dem Verzeichnis Helpdesk auf dem Fileserver abgelegt werden. Aus dem Dateinamen muß das Anlagedatum und der vollständige Benutzername ersichtlich sein.
•Der Anmeldename setzt sich aus den ersten drei Zeichen des Vornamens und den ersten zwei Zeichen des Nachnamens zusammen, z.B. Max Muster = maxmu. Das Skript muß in der Lage sein den Benutzernamen automatisch aus der user.csv zu generieren.
•Der vollständige Benutzername ist dem Account als Attribut beizufügen. Zusätzlich soll die Abteilung des Benutzers als Beschreibung vorhanden sein.
•Bei der Anlage soll der User bis zu 5 Berechtigungsgruppen zu gewiesen werden, die Gruppen sind in der User.csv angegeben.
•Sollte eine Gruppe noch nicht existieren, so ist diese durch das Skript anzulegen.
•Auf dem Fileserver soll für jeden Benutzer ein Verzeichnis eingerichtet werden, dieses ist für den Netzwerkzugriff freizugeben.
Der Zugriff darf nur für den Administrator und den jeweiligen User möglich sein.
•Erfolg / Fehler sollen für alle durchgeführten Aktionen generiert protokolliert werden.
Das Skript soll folgende Funktionsumfang haben:
•Es soll für alle diese Benutzer ein Account angelegt werden. Jedem neuen Benutzer ist ein eindeutiges Passwort zuzuordnen.
•Die User / Passwort Zuordnung ist für den Helpdesk zu dokumentieren. Sinnvollerweise sollte die Datei in dem Verzeichnis Helpdesk auf dem Fileserver abgelegt werden. Aus dem Dateinamen muß das Anlagedatum und der vollständige Benutzername ersichtlich sein.
•Der Anmeldename setzt sich aus den ersten drei Zeichen des Vornamens und den ersten zwei Zeichen des Nachnamens zusammen, z.B. Max Muster = maxmu. Das Skript muß in der Lage sein den Benutzernamen automatisch aus der user.csv zu generieren.
•Der vollständige Benutzername ist dem Account als Attribut beizufügen. Zusätzlich soll die Abteilung des Benutzers als Beschreibung vorhanden sein.
•Bei der Anlage soll der User bis zu 5 Berechtigungsgruppen zu gewiesen werden, die Gruppen sind in der User.csv angegeben.
•Sollte eine Gruppe noch nicht existieren, so ist diese durch das Skript anzulegen.
•Auf dem Fileserver soll für jeden Benutzer ein Verzeichnis eingerichtet werden, dieses ist für den Netzwerkzugriff freizugeben.
Der Zugriff darf nur für den Administrator und den jeweiligen User möglich sein.
•Erfolg / Fehler sollen für alle durchgeführten Aktionen generiert protokolliert werden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 85985
Url: https://administrator.de/forum/powershell-script-85985.html
Ausgedruckt am: 04.04.2025 um 00:04 Uhr
6 Kommentare
Neuester Kommentar

Hi,
Google mal nach csvde.exe, Powershell dürfte da das falsche Werkzeug sein.
Das Skript soll folgende Funktionsumfang
haben:
Das geht leider nicht, außer die Domainpolicy ist so eingestellt, daß der User KEIN Passwort braucht.
Du kannst (per Skript) den User nur anlegen, Variablen setzen und in Gruppen befördern.
Du kannst (per Skript) nur Benutzern - die schon existieren - ein Passwort vergeben /ändern. (ergo - um das Passwort einzurichten, muß vorher der User ohne Passwort angelegt werden -extrem suboptimal - da Domainpolicy somit unsicher)
Ich vermute, das dies kein Bug - sondern ein gewünschtes Sicherheitsplus ist.
Sonst könnte ien "Angreifer" munter skriptgesteuert User incl. funktionierender Passwörter anlegen.
Ich hab mich (in einem früheren Post) diesbezüglich auch schon mal zu weit aus dem Fenster gelehnt.
Halte ich für unsicher, denke nicht nur an den Datenschutz, sondern "nur" mal daran, was passiert, wenn der User sein Passwort ändert und damit ist diese Anforderung vom Tisch.
Da Windows das Erstelldatum jeder Datei protokolliert, hat sich das auch gelöst.
Halt ich persönlich nicht sehr sinnvoll, das sktipt legt dann fleissig OUs an und wer kümmert sich später darum, daß die Gruppen auch weiter zugewisen sind.
Was passiert, wenn in der CSV ein Schreibfehler im Feld der Gruppe ist....
das geht wunderbar mit md \\server\userfreigabe\%username% - du mußt lediglich in "Userfreigabe" den Netzwerkzugriff erlauben und mit Xcacls dem User / Admin in seinem "Home" Rechte geben.
•Erfolg / Fehler sollen für alle
durchgeführten Aktionen generiert
protokolliert werden.
Protokoll ist gut, testen ist besser
Ich hab das "andersherum" - also ohne csvde.exe gelöst.
In einem VBS pflege ich die Daten in Masken ein und generiere daraus ein CSV, das ich später (woanders) anlege.
Ich möchte lokal User und Gruppen aus
einer csv importieren und Anlegen. Mit
speziellen Anmeldenamen und der USer soll in
Gruppen die in der csv festgelegt sind. Hat
das einer schon mal gemacht und kann mir auf
die Sprünge helfen??
einer csv importieren und Anlegen. Mit
speziellen Anmeldenamen und der USer soll in
Gruppen die in der csv festgelegt sind. Hat
das einer schon mal gemacht und kann mir auf
die Sprünge helfen??
Google mal nach csvde.exe, Powershell dürfte da das falsche Werkzeug sein.
Das Skript soll folgende Funktionsumfang
haben:
Jedem neuen Benutzer ist ein eindeutiges Passwort zuzuordnen.
Das geht leider nicht, außer die Domainpolicy ist so eingestellt, daß der User KEIN Passwort braucht.
Du kannst (per Skript) den User nur anlegen, Variablen setzen und in Gruppen befördern.
Du kannst (per Skript) nur Benutzern - die schon existieren - ein Passwort vergeben /ändern. (ergo - um das Passwort einzurichten, muß vorher der User ohne Passwort angelegt werden -extrem suboptimal - da Domainpolicy somit unsicher)
Ich vermute, das dies kein Bug - sondern ein gewünschtes Sicherheitsplus ist.
Sonst könnte ien "Angreifer" munter skriptgesteuert User incl. funktionierender Passwörter anlegen.
Ich hab mich (in einem früheren Post) diesbezüglich auch schon mal zu weit aus dem Fenster gelehnt.
•Die User / Passwort Zuordnung ist für den Helpdesk zu dokumentieren.
Halte ich für unsicher, denke nicht nur an den Datenschutz, sondern "nur" mal daran, was passiert, wenn der User sein Passwort ändert und damit ist diese Anforderung vom Tisch.
Sinnvollerweise sollte die Datei in dem Verzeichnis Helpdesk auf dem Fileserver
abgelegt werden. Aus dem Dateinamen muß das Anlagedatum und der vollständige
Benutzername ersichtlich sein.
abgelegt werden. Aus dem Dateinamen muß das Anlagedatum und der vollständige
Benutzername ersichtlich sein.
Da Windows das Erstelldatum jeder Datei protokolliert, hat sich das auch gelöst.
•Sollte eine Gruppe noch nicht existieren, so ist diese durch das Skript anzulegen.
Halt ich persönlich nicht sehr sinnvoll, das sktipt legt dann fleissig OUs an und wer kümmert sich später darum, daß die Gruppen auch weiter zugewisen sind.
Was passiert, wenn in der CSV ein Schreibfehler im Feld der Gruppe ist....
•Auf dem Fileserver soll für jeden Benutzer ein Verzeichnis eingerichtet werden, dieses ist für den Netzwerkzugriff freizugeben.
das geht wunderbar mit md \\server\userfreigabe\%username% - du mußt lediglich in "Userfreigabe" den Netzwerkzugriff erlauben und mit Xcacls dem User / Admin in seinem "Home" Rechte geben.
Der Zugriff darf nur für den Administrator und den jeweiligen User möglich sein.
Siehe eine Zeile nach oben.•Erfolg / Fehler sollen für alle
durchgeführten Aktionen generiert
protokolliert werden.
Protokoll ist gut, testen ist besser
Ich hab das "andersherum" - also ohne csvde.exe gelöst.
In einem VBS pflege ich die Daten in Masken ein und generiere daraus ein CSV, das ich später (woanders) anlege.
Moin TimoBeil,
wenn ich iceman75 in seinem Parallelthread im MSCEBoard hier richtig verstanden habe, will er "nur" lokale User und Gruppen anlegen - PowerShell-Skripte für AD-User hat er schon reichlich angeboten bekommen.
@Iceman75
Willkommen im Forum.
Poste doch mal bitte, wie weit Du bist und/oder zumindest die Felder und Feldnamen, die Du in der CSV-Datei als nötig und sinnvoll erachtest.
Und bitte vielleicht noch einen Tipp, WTF denn jetzt noch fehlt... das import-csv-Cmdlet hast Du bestimmt auch schon gefunden, wenn nicht: beim sympathischen Weltmarktführer höchstselbst.
Ebenso empfehle ich den "PowerShell for Runaways-Part I"-Workskop hier im Forum im Bereich "Batch und Shell".
Ach ja, ein letzter Hinweis - einige hier im Forum sind immer etwas empfindlich, wenn der Fragesteller den Eindruck erweckt, er erwartet eher eine fertig getestete Individuallösung als Hilfestellung bei einigen wenigen hakeligen Skriptzeilen, die er schon "im Prinzip" erstellt hat.
Also versuche lieber solchen Unterstellungen frühzeitig den Wind abzugraben... oder denen das Wasser aus den Segeln zu nehmen...
Grüße
Biber
wenn ich iceman75 in seinem Parallelthread im MSCEBoard hier richtig verstanden habe, will er "nur" lokale User und Gruppen anlegen - PowerShell-Skripte für AD-User hat er schon reichlich angeboten bekommen.
@Iceman75
Willkommen im Forum.
Poste doch mal bitte, wie weit Du bist und/oder zumindest die Felder und Feldnamen, die Du in der CSV-Datei als nötig und sinnvoll erachtest.
Und bitte vielleicht noch einen Tipp, WTF denn jetzt noch fehlt... das import-csv-Cmdlet hast Du bestimmt auch schon gefunden, wenn nicht: beim sympathischen Weltmarktführer höchstselbst.
Ebenso empfehle ich den "PowerShell for Runaways-Part I"-Workskop hier im Forum im Bereich "Batch und Shell".
Ach ja, ein letzter Hinweis - einige hier im Forum sind immer etwas empfindlich, wenn der Fragesteller den Eindruck erweckt, er erwartet eher eine fertig getestete Individuallösung als Hilfestellung bei einigen wenigen hakeligen Skriptzeilen, die er schon "im Prinzip" erstellt hat.
Also versuche lieber solchen Unterstellungen frühzeitig den Wind abzugraben... oder denen das Wasser aus den Segeln zu nehmen...
Grüße
Biber