gelöst Datum Formatieren
Hallo zusammen,
Kann mir vielleicht jemand bei diesem Script weiterhelfen. Ich habe folgendes Script zusammenkopiert:
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
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;
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
10 Antworten
- LÖSUNG colinardo schreibt am 04.10.2013 um 10:33:41 Uhr
- LÖSUNG garciam schreibt am 04.10.2013 um 10:42:04 Uhr
- LÖSUNG colinardo schreibt am 04.10.2013 um 11:06:00 Uhr
- LÖSUNG garciam schreibt am 04.10.2013 um 10:42:04 Uhr
- LÖSUNG garciam schreibt am 04.10.2013 um 14:12:31 Uhr
- LÖSUNG colinardo schreibt am 04.10.2013 um 14:48:16 Uhr
- LÖSUNG garciam schreibt am 04.10.2013 um 15:12:30 Uhr
- LÖSUNG colinardo schreibt am 04.10.2013 um 16:24:53 Uhr
- LÖSUNG garciam schreibt am 07.10.2013 um 08:04:12 Uhr
- LÖSUNG colinardo schreibt am 07.10.2013 um 08:18:44 Uhr
- LÖSUNG garciam schreibt am 07.10.2013 um 11:19:04 Uhr
- LÖSUNG colinardo schreibt am 07.10.2013 um 08:18:44 Uhr
- LÖSUNG garciam schreibt am 07.10.2013 um 08:04:12 Uhr
- LÖSUNG colinardo schreibt am 04.10.2013 um 16:24:53 Uhr
- LÖSUNG garciam schreibt am 04.10.2013 um 15:12:30 Uhr
- LÖSUNG colinardo schreibt am 04.10.2013 um 14:48:16 Uhr
LÖSUNG 04.10.2013, aktualisiert um 10:35 Uhr
Hallo garciam,
mach aus der entsprechenden Zeile 19 mal folgendes:
Grüße Uwe
mach aus der entsprechenden Zeile 19 mal folgendes:
@{Name="Birthday";Expression={get-date $_.extensionAttribute3 -Format "yyyy-MM-dd"}},
LÖSUNG 04.10.2013 um 10:42 Uhr
Hallo Colinardo
Und so easy wäre es Danke vielmals!
Gruss
Und so easy wäre es Danke vielmals!
Gruss
LÖSUNG 04.10.2013 um 11:06 Uhr
Beitrag bitte noch als gelöst markieren. Merci.
LÖSUNG 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!
LÖSUNG 04.10.2013 um 14:48 Uhr
01.
if ($($_.extensionAttribute7) -ne "") {echo 'Vorge'}else{echo 'Mitar'}
LÖSUNG 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 $_ }
LÖSUNG 04.10.2013, aktualisiert 07.10.2013
mach es so, die zusätzliche For-Each Schleife ist überflüssig ...
p.s. und mach mal einen Powershell-Kurs, wenn du schon damit hantierst ...
Grüße Uwe
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;
Grüße Uwe
LÖSUNG 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
+ 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
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
LÖSUNG 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
Grüße Uwe
LÖSUNG 07.10.2013 um 11:19 Uhr
Vielen Dank! Nun funktioniert alles.
Gruss
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;
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte