tungdal
Goto Top

Powershell Informationen über AD-User auslesen

Hallo Administratoren,

Ich hätte da mal eine Frage zur Formatierung von Powershell-Ausgaben.
Und zwar habe ich mit Hilfe des Internets ein Skript geschrieben, mit dem ich abfrage, wann ein User das letzte mal sein Passwort geändert hat. Außerdem wird sein letzter Login angezeigt. (Quelle: https://technet.microsoft.com/de-de/library/dd378867%28v=ws.10%29.aspx)
write-host "Bitte geben Sie den Benutzernamen ein: "  
$username=read-host

$login=0
$passwordset=0
$user=Get-aduser $username|get-adobject -property lastlogon,pwdlastset

if($user.lastlogon -gt $login)
{
    $login=$user.lastlogon
}else
{
	write-error "Fehler bei Loginzeit"  
}
if($user.pwdlastset -gt $passwordset)
{
    $passwordset=$user.pwdlastset
}else
{
	write-error "Fehler bei Passwortzeit"  
}

$logon=[DateTime]::FromFileTime($login)
$password=[DateTime]::FromFileTime($passwordset)

write-host "letzter Login am:" $logon  
write-host "Passwort zuletzt geändert am:" $password  
write-host "Vergangene Tage seit letzter Passwortänderung:"  

(get-date)-(get-date $password)|fw Days #-autosize

Write-Host "Press any key to continue ..."  
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")  
Auf jeden Fall wollte ich jetzt noch hinzufügen, dass automatisch die Anzahl der Tage seit dem Passwortwechsel angezeigt wird. Nur irgendwie bekomme ich da die Formatierung nicht so ganz hin. Und zwar zeigt er mir immer ein zu großes Feld für das format-Argument. Ich habe es schon mit format-list, format-table, format-wide und jeweils verschiedenen Parametern versucht, aber irgendwie will es nicht so ganz. Ich möchte eigentlich nur die Anzahl der Tage ohne das Days und ohne die vielen Leerzeilen.
Kann mir da vielleicht jemand sagen, welchen Parameter ich hierzu wählen muss? Oder ob ich vielleicht ein anderes Cmdlet zum Formatieren nutzen sollte?

Ich nutze Windows 10 und der Domain-Controller ist Windows Server 2012 R2
Solltet ihr noch Informationen benötigen, sagt bitte Bescheid.

Gruß, Max

PS: In der IDE geben die letzten beiden Zeilen einen Fehler aus. Diese stört aber in der normalen Powershell-Konsole nicht und erfüllt seinen Zweck.

Content-ID: 305895

Url: https://administrator.de/contentid/305895

Ausgedruckt am: 24.11.2024 um 07:11 Uhr

129413
Lösung 129413 01.06.2016 um 11:56:14 Uhr
Goto Top
((get-date)-$password).Days
Gruß Skybird
Tungdal
Tungdal 01.06.2016 um 12:13:08 Uhr
Goto Top
Vielen Dank, das war die Lösung face-smile
Dann bin ich die ganze Zeit den falschen Weg mit den format-Cmdlets gegangen.
129413
Lösung 129413 01.06.2016 aktualisiert um 12:15:56 Uhr
Goto Top
Das hier geht übrigens ebenfalls wenn man nur den reinen Wert und kein Objekt als Ergebnis erhalten will
((get-Date)-$password) | select -Expandproperty Days
Tungdal
Tungdal 01.06.2016 um 12:38:01 Uhr
Goto Top
Der reine Wert reicht mir, danke