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, 1808 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 ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Batch & Shell
PowerShell Transkript Problem (5)

Frage von Marabunta zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell, Get-Date, Sommerzeit Winterzeit, Zeitumstellung (6)

Frage von Rippchen zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Batch & Shell
Powershell, neue Spalte einer Liste hinzufügen (3)

Frage von DanielBodensee zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (12)

Frage von ProfessorZ zum Thema Router & Routing ...