Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PowerShell Script

Mitglied: Iceman75

Iceman75 (Level 1) - Jetzt verbinden

21.04.2008, aktualisiert 28.04.2008, 15871 Aufrufe, 6 Kommentare

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.
Mitglied: 60730
21.04.2008 um 13:00 Uhr
Hi,

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??


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.

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.
Bitte warten ..
Mitglied: Iceman75
21.04.2008 um 13:48 Uhr
habe auch schon gemerkt das es für lokale user etc. nicht sehr sinnvoll ist mit der PowerShell zu arbeiten. ich soll es aber versuchen. wie gesagt User anlegen kann ich und in Gruppen packen. Wenn ich in meine CSV mehr als nur die namen schreibe bekomme ich fehlermeldungen. Der Anmeldename soll ja auch special sein und die Gruppennamen sollen im csv stehen. Aber wie gesgat klappt das bei mir nicht. Hast du ne Quelle wo man sich einlesen kann, bzw. Vorschlag für gute PowerShell Lektüre????
Bitte warten ..
Mitglied: Biber
21.04.2008 um 14:12 Uhr
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
Bitte warten ..
Mitglied: Iceman75
21.04.2008 um 14:29 Uhr
hi,

also eine komplett lösung möchte ich natürlich nicht.

Also wie gesagt soll die csv die namen, anmeldenamen und gruppen beinhalten. Dies soll dann importiert werden und das script soll dann die User anlegen. also user erstellen und in die gruppen packen habe ich schon hinbekommen. aber die gruppen stehen nicht in der csv.

meine csv:

Name
User1
User2
.
.
.
.

hier was ich soweit habe:

Import-Csv d:\neu1.csv | ForEach-Object {
$target = [ADSI]"WinNT://."
$newuser = $target.Create("user", $_.Name)
$newuser.SetPassword("Password01") <<<soll eigentlich individuell für jeden nutzer sein
$newuser.SetInfo()
$newuser.psbase.InvokeSet('AccountDisabled', $FALSE)
$newuser.SetInfo()

}

Import-Csv D:\Neu1.csv | ForEach-Object {
$user = "WinNT://pc007/" + $_.Name
$group =[ADSI]"WinNT://./Gruppe1"
$group.Add($user)
$group =[ADSI]"WinNT://./Gruppe2"
$group.Add($user)
$group =[ADSI]"WinNT://./Gruppe3"
$group.Add($user)
$group =[ADSI]"WinNT://./Gruppe4"
$group.Add($user)
$group =[ADSI]"WinNT://./Gruppe5"
$group.Add($user)

Gruß

Ice
Bitte warten ..
Mitglied: Iceman75
22.04.2008 um 11:49 Uhr
Also das mit den Usern und deren speziellen Anforderungen habe ich soweit realisiert.

Jetzt suche ich noch einen Weg wie sie in die Gruppen kommen, die in der csv festgelegt sind.

Hier was ich soweit habe:
01.
#User werden aus der benutzer.csv angelegt 
02.
#Anmeldename und Passwort werden generiert 
03.
 
04.
Import-Csv d:\benutzer.csv | ForEach-Object {  
05.
$target = [ADSI]"WinNT://."  
06.
$newuser = $target.Create("user",($_.Vorname).Substring(0,3) + ($_.Nachname).Substring(0,2)) 
07.
$newuser.SetPassword($_.Vorname + "01") 
08.
$newuser.SetInfo() 
09.
$newuser.description = (($_.Name) + " - " + ($_.Abteilung))  
10.
$newuser.psbase.InvokeSet('AccountDisabled', $FALSE)  
11.
$newuser.SetInfo()  
12.
 
13.
#Ausgabe Fehler in errorfile.txt 
14.
 
15.
$Error | Out-File d:\errorfile.txt -append 
16.
 
17.
}  
18.
 
19.
#Benutzer werden Mitglied der Gruppen die in der benutzer.csv festgelegt sind 
20.
 
21.
Import-Csv d:\benutzer.csv | ForEach-Object {  
22.
$user = "WinNT://PC007/" + (($_.Vorname).Substring(0,3) + ($_.Nachname).Substring(0,2)) 
23.
$group =[ADSI]"WinNT://./???????????" 
24.
$group.Add($user) 
25.
 
26.
#Ausgabe Fehler in errorfile.txt 
27.
 
28.
$Error | Out-File d:\logfile.txt -Append 
29.
 
30.
} 
Bitte warten ..
Mitglied: Iceman75
28.04.2008 um 08:45 Uhr
Keiner eine Idee dazu?????

mfg

ice
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Script in Powershell
gelöst Frage von EverestBatch & Shell27 Kommentare

Hallo PS-Scriptler, hat jemand von euch ein Script, der bestimmte User (z.B. administrator) in der Domain ausließt, welcher angibt ...

Batch & Shell

PowerShell Script Daten aus einem anderen PowerShell Script übergeben

gelöst Frage von RikkijooeBatch & Shell5 Kommentare

Guten Abend Liebe Administratoren! Ich weiß nicht, wie ich den Titel anders formulieren soll als so. Meine Frage ist ...

Batch & Shell

Powershell Get-Hotfix Script

Frage von u0206084Batch & Shell3 Kommentare

Hallo Kollegen, ich möchte die Hotfixes der Server auslesen hierzu , habe ich verschiedene Powershellscripte gefunden. Script 1: (Funktioniert ...

Windows Server

Aufgabenplanung soll Powershell-Script ausführen

gelöst Frage von it-fraggleWindows Server6 Kommentare

Hallo, habe ein Problem mit meinem Windows Server 2016. Ich muss ein Script einbinden, was mir eine Mail zusendet, ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 5 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1023 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
Frage von Marcel1989Datenbanken18 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte16 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...