Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

CSVDE über Powershell protokollierbar?

Frage Microsoft Windows Server

Mitglied: Belloci

Belloci (Level 2) - Jetzt verbinden

22.04.2013 um 08:45 Uhr, 1817 Aufrufe, 4 Kommentare

Einen schönen Montag wünsche ich,

nachdem mir schon sehr geholfen wurde (http://www.administrator.de/frage/benutzer-massenimport-per-csvde-20529 ...)

habe ich noch 3 (kleine) abschließende Fragen:

1) Lässt sich eine Protokolldatei erstellen wenn man den Import von CSVDE über die Powershell erledigt? Wenn man es nicht mit der PS macht geht es ja, finde aber keine Info wenn man es mit der PS macht...

2) Gibt es eine Möglichkeit, Fehler zu "ignorieren"? Falls nein, folgendes Szenario: Bei Benutzer 100 ist ein Fehler in der CSV Datei, hat er die ersten 99 User erstellt oder erstellt das System die User erst, wenn alles okay ist?!

3) Kann man in der Excel-Datei (noch keine CSV) zur Übersicht mit leeren Zeilen Arbeiten? Ich möchte wenigstens ein bisschen Übersicht gewährleisten können. Ich würde dann so vorgehen:

Spalte 1 - 5 : User Test1 - Test5 in Ou Test1

Spalte 7 - 20 : User Test6 - Test18 in Ou Test2

Danach CSV erstellen usw...

Hoffe ihr wisst was ich meine...

Dankeschön!
Norman
Mitglied: colinardo
22.04.2013, aktualisiert um 11:15 Uhr
Hi Norman,
ich gehe mal bei deiner Beschreibung davon aus das du in der Powershell nicht die CSVDE.exe benutzen willst.

Zu Frage 1 und 2)
Du hast bei jedem Powershell CMDLet zwei Optionen die dir bei der Fehlerbearbeitung helfen. Zum einen ist das -ErrorVariable [Variable] oder abgekürzt -EV [Variable]. Diese Variable wird bei Fehlern gefüllt. Zum anderen gibt es die Option -ErrorAction [Aktion] oder -EA [Aktion] mit der du festlegen kannst was im Fehlerfall passieren soll; in deinem Fall ist das -EA Continue (also bei einem Fehler zum nächsten User springen)
Hier ein möglicher Ansatz:
01.
$userData = Import-Csv -Path "Deine.csv" -Delimiter "," 
02.
$counter = 1 
03.
$FehlerLog = "" 
04.
foreach ($objUser in $userData){ 
05.
    if ($objUser.displayName -ne $null){ 
06.
	new-aduser -EA Continue -EV err -Name $objUser.displayName -SamAccountName $objUser.sAMAccountName -Path $objUser.DN -GivenName $objUser.givenName -DisplayName $objUser.displayName -Type $objUser.objectClass -Description $objUser.description -UserPrincipalName $objUser.userPrincipalName -Homepage $objUser.wWWHomePage -HomePhone $objUser.telephoneNumber -MobilePhone $objUser.mobile -StreetAddress $objUser.streetAddress -City $objUser.l -PostalCode $objUser.postalCode -Department $objUser.department -Company $objUser.company -ScriptPath $objUser.scriptpath -Title $objUser.Position -OtherAttributes @{userAccountControl=$objUser.userAccountControl} 
07.
	if ($err.count -gt 0 ){ $Fehlerlog += "Fehler beim Anlegen von User No. $counter `n"} 
08.
	$err = $null 
09.
	$counter +=1 
10.
11.
12.
if ($Fehlerlog -ne ""){echo "Folgende Fehler sind während des Vorganges aufgetreten:" $Fehlerlog}
zu Frage 3)
Das kannst du machen, jedoch verbleiben dann beim Export für jede Leerzeile auch eine Leerzeile in der CSV-Datei. Diese löschst du entweder in einem Texteditor oder du baust dir in Excel per VBA eine Funktion ein die dir die Daten manuell ohne vorhandene Leerzeilen in eine CSV-Datei exportiert.
Du kannst die Leerzeilen auch in der CSV drin lassen da in obigem Code(Zeile 5) diese bereits ausgefiltert werden...

Grüße Uwe
Bitte warten ..
Mitglied: Belloci
22.04.2013 um 11:18 Uhr
Hi Uwe,

mein Gott machst du dir eine Mühe, so "kompliziert" denke ich gar nicht

Ich habe mich wohl etwas unverständlich ausgedrückt. Ich möchte es MIT CSVDE machen.

Mein Befehl zum (hoffentlich) Glück:

Import-CSV C:\Massenimport.csv | New-ADUser -AccountPassword (ConvertTo-SecureString –AsPlainText “Pa$$w0rd!” -Force) -Enabled:$true -ChangePasswordAtLogon:$true (Yusuf's Blog).

Funktioniert super. Kann ich dann einfach am Ende noch "-EA Continue" anfügen?!

Danke und Gruß
Norman
Bitte warten ..
Mitglied: colinardo
22.04.2013, aktualisiert um 11:27 Uhr
Zitat von Belloci:
mein Gott machst du dir eine Mühe, so "kompliziert" denke ich gar nicht

Ich habe mich wohl etwas unverständlich ausgedrückt. Ich möchte es MIT CSVDE machen.
kein Problem mache gerade verstärkt Dinge mit der Powershell als Übung.

das was du hier aber machst ist nicht CSVDE.exe sondern manuell über die Powershell.
Das hier ist CSVDE => http://technet.microsoft.com/de-de/library/cc771621%28v=ws.10%29.aspx

Import-CSV C:\Massenimport.csv | New-ADUser -AccountPassword (ConvertTo-SecureString –AsPlainText “Pa$$w0rd!”
-Force) -Enabled:$true -ChangePasswordAtLogon:$true (Yusuf's Blog).
Funktioniert super. Kann ich dann einfach am Ende noch "-EA Continue" anfügen?!
Ja, dann überspringt er den jeweiligen User bei Fehlern und macht beim nächsten weiter.

Viel Erfolg
Bitte warten ..
Mitglied: Belloci
22.04.2013 um 20:50 Uhr
Herrlich. Vielen lieben dank und schönen abend.

Gruss norman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - DISK - Als Administrator ausführen (2)

Frage von StfnCstr zum Thema Batch & Shell ...

Batch & Shell
Frage zum Einsatz von Powershell, welche Version verwenden (3)

Frage von Penny.Cilin zum Thema Batch & Shell ...

Microsoft
gelöst Drucker Über Powershell installieren (13)

Frage von Asker06 zum Thema Microsoft ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(2)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...