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, 1795 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
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Domain Join (2)

Frage von Patrick-IT zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...