BLOG
Wissenstransfer von IT-Spezialisten
| |

Letztes Anmeldedatum/Authentifizierung eines AD- oder Service Benutzers #Powershell

Manchmal ist es hilfreich zu wissen, wann ein AD-Benutzer oder Funktionsaccount das letzte Mal authentifiziert wurde. Nach einigen Fehlversuchen mit  „LastLogonDate“ habe ich mit „LastLogon“ den richtigen Wert gefunden. Dieser Wert wird allerdings nicht zwischen den Domain Controllern repliziert. Zusätzlich liegt er nummerisch vor (Ticks).

Das folgende Skript ermittelt die aktuellste Authentifizierung über alle Domänen Controller einer Domäne hinweg (als Einzeiler):

1
([DateTime][long]($(ForEach ($dc in ((get-addomaincontroller -filter *).name)){(Get-ADUser -Identity "<userlogonname>" -Properties "LastLogon" -server $dc).LastLogon}) | Measure -Maximum).Maximum).AddYears(1600)

Oder etwas übersichtlicher:

1
2
3
4
5
6
([DateTime][long](
    $(ForEach ($dc in ((get-addomaincontroller -filter *).name))
    {
        (Get-ADUser -Identity "<userlogonname>" -Properties "LastLogon" -server $dc).LastLogon
    }
) | Measure -Maximum).Maximum).AddYears(1600)

Beispiel:

Siehe auch:

Christopher Ream – Understanding the AD Account attributes – LastLogon, LastLogonTimeStamp and LastLogonDate