La nueva entrada de hoy va dedicada a facilitar la vida de los administradores. ¿Y como lo haremos?
Vamos a generar un script en PS encargado de cambiar de forma automática el password del usuario que definamos haciendo servir el nombre del equipo y una cadena de caracteres. y diréis ... ¿Como puede ayudarme esto a mi? pues bien, nos ayudará a tener controladas todas las contraseñas del usuario administrador local de nuestras estaciones, creo que sí, que puede sernos útil en nuestro día a día como administradores.
Para nuestro ejemplo de hoy, utilizaremos la cadena "loquenuncatecontaron", y con ella os dejo a continuación el script comentado linea a linea para evitar dudas:
$inicio=0
$longitud=8
#capturamos el nombre del equipo
$computer = gc env:computername
#definimos la clave para generar más tarde la cadena que compondra nuestra contraseña
$clave="loquenuncatecontaron"
#la convertimos a mayusculas
$clave += $computer.ToUpper()
#función para pasar nuestra cadena a MD5
function Check-MD5 ($string) {
[Reflection.Assembly]::LoadWithPartialName("System.Web") | Out-null
[System.Web.Security.FormsAuthentication]::HashPasswordForStoringInConfigFile("$string", "MD5")
}
#utilizamos la función "Check-MD5"
$result= check-MD5 $clave
$salida = ""
#creamos un loop para acortar la contraseña a 8 caracteres
for ($i_var = $inici; $i_var -lt $len; $i_var++){
$salida += $result[$i_var]}
#convertimos la cadena a minusculas
$pass=$salida.ToLower()
#Definimos el usuario al que queremos cambiar el pass
$user="administrator"
#Cambiamos la contraseña de administrator por la generada
invoke-expression "net user $user $pass"
Espero que os haya sido de ayuda y si tenéis dudas o sugerencias no dudéis en compartirlas con Lo que nunca te contaron. ;)
No hay comentarios:
Publicar un comentario