martes, 28 de marzo de 2017

Powershell script - Cambio de contraseña de administrador local 2/2

Siguiendo con la entrada anterior, publico a continuación el script que deberá ser lanzado vía sccm u otros, de forma local en los equipos por mediante un usuario que tenga permiso de acceso a los archivos que hemos generado con nuestro script que comento también en la entrada anterior.

Como comenté, el script modifica la contraseña del usuario con ID 0, el cual, ya que si fuésemos a buscar el usuario Administrador o Administrator, este podría haber sido nombrado y fallaríamos en nuestro intento.

Personalización:

El script requiere ser personalizado en la linea 1 y 2, donde pondremos la ruta correcta de los archivos.

Script:

$PasswordFile = "c:\temp\Password.txt"
$KeyFile = "c:\temp\AES.key"
$key = Get-Content $KeyFile
$pwd= get-content $passwordfile | Convertto-SecureString -Key $Key
$userlist = get-wmiobject win32_useraccount
$localadm=$userlist[0].caption.replace(“\”,”/”)
$objUser = [ADSI]"WinNT://$localadm, user"
$decodedpassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd))
$objUser.psbase.Invoke("SetPassword", $decodedpassword)
$objuser.psbase.CommitChanges()

No hay comentarios: