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 Datum Formatieren

Mitglied: garciam

garciam (Level 1) - Jetzt verbinden

04.10.2013 um 10:08 Uhr, 1445 Aufrufe, 10 Kommentare, 1 Danke

Hallo zusammen,

Kann mir vielleicht jemand bei diesem Script weiterhelfen. Ich habe folgendes Script zusammenkopiert:
01.
$path     = "C:\Temp\"
02.
$location = "OU=Test,OU=Users,OU=Firma,DC=Domain,DC=local" 
03.
$csv	  = ".\User.csv"
04.
$newpath = $path + $csv
05.

06.
Get-QADUser -SearchScope "OneLevel" -SearchRoot $location -Name * -sizelimit 0 -IncludedProperties extensionAttribute3,extensionAttribute6 | 
07.
select-object `
08.
@{Name="LoginName";Expression={$_.Initials}},
09.
Password,
10.
ChangeOfPasswordRequired,
11.
@{Name="LastName";Expression={$_.sn}},
12.
FirstName,
13.
@{Name="Mail";Expression={$_.mail}},
14.
@{Name="EmploymentId";Expression={$_.extensionAttribute6}},
15.
Status,
16.
UserType,
17.
AuthorizationGroup,
18.
MaxOrgUnit,
19.
@{Name="Birthday";Expression={$_.extensionAttribute3}},
20.
InsuranceNumber,
21.
MessageReceiver,
22.
DispatchType | `
23.
ForEach-Object { $_.Status = "J"; $_.Password = "123"; $_.ChangeOfPasswordRequired = "Ja"; $_.UserType = "MA"; $_.AuthorizationGroup = "MA"; $_.MaxOrgUnit = "Top"; return $_ } | 
24.
Sort-object -property "LastName"| `
25.
Export-CSV $newpath -Force -NoTypeInformation -Delimiter ";" -encoding utf8;
Bei @{Name="Birthday";Expression={$_.extensionAttribute3}} wird das Geburtsdatum im Format Tag.Monat.Jahr ins CSV übergeben. Ich bräuchte das Geburtsdatum aber im Format Jahr-Monat-Tag.

Ich habe es mit Get-Date -Formate yyyy-MM-dd versucht, aber irgendwas mache ich falsch. Kann mir jemand sagen wie ich das am besten anstelle? Vielen Dank!

Gruss
Mitglied: colinardo
04.10.2013, aktualisiert um 10:35 Uhr
Hallo garciam,
mach aus der entsprechenden Zeile 19 mal folgendes:
@{Name="Birthday";Expression={get-date $_.extensionAttribute3 -Format "yyyy-MM-dd"}},
Grüße Uwe
Bitte warten ..
Mitglied: garciam
04.10.2013 um 10:42 Uhr
Hallo Colinardo

Und so easy wäre es Danke vielmals!

Gruss
Bitte warten ..
Mitglied: colinardo
04.10.2013 um 11:06 Uhr
Beitrag bitte noch als gelöst markieren. Merci.
Bitte warten ..
Mitglied: garciam
04.10.2013 um 14:12 Uhr
Ich habe noch ein weiteres Problem, welches ich nicht lösen kann. Bei "AuthorizationGroup" wird das "extensionAttribute7" auf dem Useraccount abgefragt. Bei manchen Useraccounts ist ein Wert in "extensionAttribute7" eingetragen, bei anderen nicht. Nun möchte ich das extensionAttribute7 prüfen und wenn ein Wert eingetragen ist, ein "Vorge" ins CSV schreiben, ansonsten ein "Mitar". Kann mir da noch jemand weiterhelfen, wäre super, danke!
Bitte warten ..
Mitglied: colinardo
04.10.2013 um 14:48 Uhr
01.
if ($($_.extensionAttribute7) -ne "") {echo 'Vorge'}else{echo 'Mitar'}
Bitte warten ..
Mitglied: garciam
04.10.2013, aktualisiert um 15:30 Uhr
Danke! Das müsste ich dann schon unter ForEach-Object einfügen, oder? Es wird nur der ursprüngliche Text ins CSV geschrieben. Der ForEach-Object Teil wird ignoriert, es gibt auch keine Fehlermeldung.
01.
ForEach-Object { $_.Status = "J"; $_.ChangeOfPasswordRequired = "N"; $_.UserType = "MA"; $_.MaxOrgUnit = "Top"; {if ($($_.extensionAttribute7) -ne "") {echo 'Vorge'}else{echo 'Mitar'}}; return $_ }
Bitte warten ..
Mitglied: colinardo
04.10.2013, aktualisiert 07.10.2013
mach es so, die zusätzliche For-Each Schleife ist überflüssig ...
01.
$path     = "C:\Temp\"
02.
$location = "OU=Test,OU=Users,OU=Firma,DC=Domain,DC=local" 
03.
$csv	  = ".\User.csv"
04.
$newpath = $path + $csv
05.

06.
$users = Get-QADUser -SearchScope "OneLevel" -SearchRoot $location -Name * -sizelimit 0 -IncludedProperties extensionAttribute3,extensionAttribute6,extensionAttribute7
07.
$usersChanged = $users | select `
08.
@{Name="LoginName";Expression={$_.Initials}},
09.
@{Name="Password";Expression={"123"}},
10.
@{Name="Status";Expression={"J"}},
11.
@{Name="ChangeOfPasswordRequired";Expression={"Ja"}},
12.
@{Name="UserType";Expression={"MA"}},
13.
@{Name="MaxOrgUnit";Expression={"Top"}},
14.
@{Name="LastName";Expression={$_.sn}},
15.
FirstName,
16.
@{Name="Mail";Expression={$_.mail}},
17.
@{Name="EmploymentId";Expression={$_.extensionAttribute6}},
18.
@{Name="AuthorizationGroup";Expression={if ($($_.extensionAttribute7) -ne "") {echo 'Vorge'}else{echo 'Mitar'}}},
19.
@{Name="Birthday";Expression={$_.extensionAttribute3}},
20.
InsuranceNumber,
21.
MessageReceiver,
22.
DispatchType
23.
$usersChanged | Sort-object -property "LastName" | Export-CSV $newpath -Force -NoTypeInformation -Delimiter ";" -encoding utf8;
p.s. und mach mal einen Powershell-Kurs, wenn du schon damit hantierst ...
Grüße Uwe
Bitte warten ..
Mitglied: garciam
07.10.2013 um 08:04 Uhr
Guten Morgen

Danke für deinen Vorschlag. Leider funktioniert es noch nicht:

Select-Object : Die Eigenschaft kann nicht verarbeitet werden, da die UserType-Eigenschaft bereits vorhanden ist.
Bei C:\User\Script.ps1:14 Zeichen:14

select-object <<<< `

+ CategoryInfo : InvalidOperation: (Domain\test-pu-01:PSObject) [Select-Object], PSArgumentException
+ FullyQualifiedErrorId : AlreadyExistingUserSpecifiedPropertyNoExpand,Microsoft.PowerShell.Commands.SelectObjectC
ommand


p.s. Du hast natürlich recht, mein PowerShell Buch liegt auch bereits auf meinem Schreibtisch und bis ende Jahr habe ich es hoffentlich durch.

Gruss
Bitte warten ..
Mitglied: colinardo
07.10.2013 um 08:18 Uhr
ah sorry, da waren zwei Felder doppelt ausgewählt, typo von mir... ist oben korrigiert.
Grüße Uwe
Bitte warten ..
Mitglied: garciam
07.10.2013 um 11:19 Uhr
Vielen Dank! Nun funktioniert alles.
01.
$path     = "C:\Temp"
02.
$location = "OU=Test,OU=Users,Ou=Firma,DC=Domain,DC=local" 
03.
$csv	  = ".\User.csv"
04.
$newpath = $path + $csv
05.

06.
$users = Get-QADUser -SearchScope "OneLevel" -SearchRoot $location -Name * -sizelimit 0 -IncludedProperties extensionAttribute3,extensionAttribute6,extensionAttribute7
07.
$usersChanged = $users | select `
08.
@{Name="LoginName";Expression={$_.Initials}},
09.
@{Name="Password";Expression={"123"}},
10.
@{Name="ChangeOfPasswordRequired";Expression={"N"}},
11.
@{Name="LastName";Expression={$_.sn}},
12.
FirstName,
13.
@{Name="Mail";Expression={$_.mail}},
14.
@{Name="EmploymentId";Expression={"0-"+$_.extensionAttribute6}},
15.
@{Name="Status";Expression={"J"}},
16.
@{Name="UserType";Expression={"MA"}},
17.
@{Name="AuthorizationGroup";Expression={if ($($_.extensionAttribute7) -match "\w") {echo 'Vorge'}else{echo 'Mitar'}}},
18.
@{Name="MaxOrgUnit";Expression={"Top"}},
19.
@{Name="Birthday";Expression={get-date $_.extensionAttribute3 -Format "yyyy-MM-dd"}},
20.
InsuranceNumber,
21.
MessageReceiver,
22.
DispatchType
23.
$usersChanged | Sort-object -property "LastName" | Export-CSV $newpath -Force -NoTypeInformation -Delimiter ";" -encoding utf8;
Gruss
Bitte warten ..
Ähnliche Inhalte
PHP
Datum Rechner
gelöst Frage von michi-ffmPHP6 Kommentare

Hey Leute, evtl kann mir jemand helfen und mir folgenden Skript erklären und sagen wie ich das Jahr dazubekommen ...

Microsoft

Mit Powershell Datum aus Ordnername als Datum extrahieren

gelöst Frage von YotYotMicrosoft11 Kommentare

Moin! ja, ich habe bereits gesucht und auch ein paar Fortschritte gemacht, da ich aber außerhalb von Exchange gerade ...

Microsoft Office

Datum berechnen Excel

gelöst Frage von Gast2015Microsoft Office3 Kommentare

Hallo :-), Ich hätte ein Frage zu Excel und zwar habe ich zwei Datumsangaben (A1+A2) und bräuchte in einem ...

Windows Userverwaltung

Datum einer Gruppenmitgliedschaft

gelöst Frage von slanskyWindows Userverwaltung1 Kommentar

Hallo Leute, Kann man im AD nachvollziehen seit wann jemand Mitglied einer Gruppe ist?

Neue Wissensbeiträge
Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 6 StundenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 1 TagWindows 1011 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 2 TagenSicherheits-Tools8 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 5 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware34 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Outlook & Mail
Office 365 mit Email-Profil installieren
Frage von Carat2121Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...

Microsoft Office
Excel Such- und Vergleichsfunktion
gelöst Frage von oesi1989Microsoft Office15 Kommentare

Hallo zusammen, ich habe 2 Tabellen mit Name, Vorname und Arbeitgeber. 1. Tabelle Name Vorname Geb-Datum Arbeitgeber Straße Ort ...