Búsqueda de sitios web

Powershell: ¿Cuándo se restableció por última vez la contraseña de la cuenta de administrador local?


En mi última publicación (que se encuentra aquí) escribí sobre cómo determinar el nombre de la cuenta de administrador local en una computadora. Ahora que sabemos el nombre de la cuenta, ¿cuándo fue la última vez que cambió la contraseña de esa cuenta?

Administrar cuentas locales en computadoras (clientes o servidores) puede ser una molestia y una cosa que simplifica un poco la auditoría es averiguar cuántos años tiene la contraseña de un usuario local en una máquina. La función Get-SWLocalAdmin en mi última publicación devuelve un objeto del tipo UserPrincipal que tiene muchas propiedades interesantes, como LastPasswordSet, que devuelve un objeto DateTime que nos indica cuándo se estableció la contraseña por última vez.

Si ya conocemos el nombre de la cuenta que queremos consultar o si queremos consultar otra cuenta además de la cuenta de administrador integrada, podemos usar la función Get-SWLocalPasswordLastSet a continuación, que devolverá un objeto DateTime.

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)"
    }
}

El objeto UserPrincipal también tiene muchas otras propiedades interesantes como Enabled, BadLogonCount y LastLogon y algunos métodos dignos de mención, como Delete, ExpirePasswordNow, GetGroups, ChangePassword y SetPassword.

Para leer más sobre la clase UserPrincipal, consulte MSDN en: http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.userprincipal(v=vs.110).aspx

La próxima vez veremos más de cerca cómo restablecer la contraseña en una cuenta local y cómo verificar que se configuró la contraseña (o solo verificar que la contraseña sea la que esperamos que sea).

Artículos relacionados