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)
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.
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")
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 305895
Url: https://administrator.de/contentid/305895
Ausgedruckt am: 24.11.2024 um 07:11 Uhr
4 Kommentare
Neuester Kommentar
((get-date)-$password).Days
Das hier geht übrigens ebenfalls wenn man nur den reinen Wert und kein Objekt als Ergebnis erhalten will
((get-Date)-$password) | select -Expandproperty Days