Weboldal keresés

Powershell: Mikor volt utoljára visszaállítva a helyi rendszergazdai fiók jelszava?


Legutóbbi bejegyzésemben (itt található) arról írtam, hogyan lehet meghatározni a helyi rendszergazdai fiók fióknevét egy számítógépen. Most, hogy ismerjük a fiók nevét, mikor változott utoljára a jelszó a fiókban?

A számítógépeken (klienseken vagy szervereken) lévő helyi fiókok kezelése gondot okozhat, és egy dolog, ami egy kicsit egyszerűbbé teszi az auditálást, az, hogy megtudjuk, milyen régi a helyi felhasználó jelszava a számítógépen. A Get-SWLocalAdmin függvény a legutóbbi bejegyzésemben egy UserPrincipal típusú objektumot ad vissza, amely sok érdekes tulajdonsággal rendelkezik, például a LastPasswordSet, amely egy DateTime objektumot ad vissza, amely megmondja, mikor volt utoljára beállítva a jelszó.

Ha már tudjuk a lekérdezni kívánt fiók nevét, vagy ha a beépített rendszergazdai fióktól eltérő fiókot szeretnénk lekérdezni, használhatjuk az alábbi Get-SWLocalPasswordLastSet függvényt, amely egy DateTime objektumot ad vissza.

function Get-SWLocalPasswordLastSet {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [String]$UserName,
        [Parameter(Mandatory=$true)]
        [String]$ComputerName
    )
    Try {
        Add-Type -AssemblyName System.DirectoryServices.AccountManagement 
        $PrincipalContext = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Machine, $ComputerName)
        $User = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($PrincipalContext, $UserName)
        $User.LastPasswordSet
    }
    Catch {
        Write-Warning -Message "$($_.Exception.Message)"
    }
}

A UserPrincipal objektum számos egyéb érdekes tulajdonsággal is rendelkezik, mint például az Enabled, BadLogonCount és LastLogon, valamint néhány figyelemre méltó metódus, például a Delete, ExpirePasswordNow, GetGroups, ChangePassword és SetPassword.

Ha többet szeretne megtudni a UserPrincipal osztályról, kérjük, tekintse meg az MSDN-t a következő címen: http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.userprincipal(v=vs.110).aspx

Legközelebb közelebbről megvizsgáljuk, hogyan állíthatjuk vissza a jelszót egy helyi fiókban, és hogyan ellenőrizhetjük, hogy a jelszó be van-e állítva (vagy csak azt, hogy a jelszó megfelel-e az elvártnak).

Kapcsolódó cikkek