En alguna ocasion puedes tener la necesidad de crear un monton de usuarios en directorio activo. Con powershell podemos tenerlos en un minuto.
Los datos que podamos rellenar dependeran evidentemente de lo completo que nos haya pasado el fichero RRHH...
Los datos que podamos rellenar dependeran evidentemente de lo completo que nos haya pasado el fichero RRHH...
$suffix="dominio.local" $datos=get-content ".\AltaMasivaDominio.csv" out-file ".\AltaMasivaDominio.log" -input "usuario;contraseña;nombre;apellido1;apellido2;puesto" $datos|%{ $campo=$_.split(" ") $usuario=$campo[0] $apellido1=$campo[1] $apellido2=$campo[2] $nombre=$campo[3] $puesto=$campo[4] $pass1=$nombre.substring(1,1) $pass2=$nombre.substring(2,1) $password="$pass1$usuario$pass2" out-file ".\AltaMasivaDominio.log" -input "$usuario;$password;$nombre;$apellido1;$apellido2;$puesto" -append $objdomain=New-Object System.DirectoryServices.DirectoryEntry "LDAP://OU=Departamentos,DC=Dominio,DC=local" $objUser = $objDomain.Create("user", "CN=$usuario") #Creo el objeto en DA $objUser.Put("sAMAccountName","$usuario") $objUser.Put("userPrincipalName","$usuario@$suffix") $objUser.setinfo() $objuser.givenname="$nombre" $objuser.sn="$apellido1 $apellido2" $objuser.displayname="$nombre $apellido1 $apellido2" $objuser.description="$nombre $apellido1 $apellido2" $objuser.title="$puesto" $objUser.SetPassword($password) $objuser.Put("PwdLastSet", 0) #cambiar la contraseñe en el primer inicio de sesion $objuser.AccountDisabled = $False $objuser.userAccountControl = 512 #usuario normal $objUser.setinfo() }
Comentarios
Publicar un comentario