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, 15890 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
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 1 TagAusbildung9 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 3 TagenSpeicherkarten3 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 3 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 3 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware18 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Windows Server
Zertifikat RemoteDesktop hinterlegen
gelöst Frage von Green14Windows Server11 Kommentare

Hallo zusammen. ich habe mehrere Server (WinSrv 2016). Die Server sind in keiner Domäne und keine Terminalserver. Ich verbinde ...

Suche Projektpartner
Debian 9.5 32 Bit und PHP 7 Fehlerbeseitigungen
Frage von zeroblue2005Suche Projektpartner11 Kommentare

Hallo Zusammen, ich habe eine VM auf Basis von ESXI am laufen. Dieser wurde unter Debian 7 installiert mt ...

Windows Server
DNS - Bedingte Weiterleitung
Frage von m8ichaelWindows Server10 Kommentare

Guten Tag zusammen, ich stehe gerade bzgl. einer bedingten DNS-Weiterleitung etwas auf dem Schlauch: Ich möchte, dass für bestimmte ...