Cambio masivo de contraseña

Print Friendly, PDF & Email

Con powershell

  • Resetear la clave de un usuario
Get-aduser pepe | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -String "New Password Here" -Force -AsPlainText)
  • Resetear los usuarios de una OU y subOUs (searchscope=subtree)
Get-ADUser -Filter * -searchBase "OU=Department,OU=Users,DC=corp,DC=domain,DC=com" -SearchScope subtree | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -String "New Password Here" -Force -AsPlainText)

SearchScope especifica el ambito de la busqueda en el AD. Los posibles valores so

  • Base   o   0
  • OneLevel   o   1
  • Subtree   o  2

  • Resetear un usuario en concreto: A modo de script (copier y guarder en un *.ps1)
# importamos el módulo de Active Directori
Set-ExcecutionPolicy Unrestricted
Import-Module ActiveDirectory

# preguntamos en una variable cual será la password
$clave = read-host “que clave queremos poner”

# generamos un SecureString el cual tendrá la password anterior
$securePwd = ConvertTo-SecureString -String $clave -Force -AsPlainText

# preguntamos por el usuario
$usuario = read-host “usuario a resetear”

#reseteamos la password
Get-ADUser $usuario| Set-ADAccountPassword -NewPassword $securePwd

# salida
Write-host “se ha reseteado con exito la clave para $usuario”

 

Usando DSmod (usar solo la line de comandos, no powershell)

Resetea las password de los usuarios en esa OU y sub OUs

DSQUERY user "OU=myOU,OU=Users,DC=myDomain,DC=com" -limit 0 -scope [subtree|onelevel] | DSMOD user -pwd Pa$$w0rd!! -mustchpwd no
  • Si no ponemos “scope” por defecto cogera subtree, y cambiara todos los usuarios de la OU y todos sus clildren. Si queremos solo cambiar los usuarios que está dentro de una OU pondriamo como scope “OneLevel”
  • En “pwd” no hay que usar comillas para especificar la password
  • si no ponemos “-limit 0” solo hara los 100 primeros. con el “0” es elimitado

Mas comandos dsquery en la siguiente pagina

http://www.pearsonitcertification.com/articles/article.aspx?p=1718489

Guardando script en ficheo *.vbs

Solo sobre la OU indicado el el fichero vbs

dim OutPutList
dim Password
Set ObjOU = GetObject("LDAP://ou=Class,dc=contoso,dc=msft")
ObjOU.Filter = Array("User")
OutputList = ""
Password = "PassW0rd"   'I simply preset the password to something. You can change this accordingly
For Each objUser in ObjOU
'If you want to have random password, call a function to randomize a password before you call the SetPassword method
   objUser.SetPassword Password
   OutputList = Outputlist & objUser.Name & " - " & password & vbcrlf
Next
Wscript.echo OutputList

 

Sé el primero en comentar

Dejar una contestacion