Listado y creacion de usuarios con PowerShell

  Buenos días, siguiendo con la serie de post sobre PowerShell y tras ver como inicializar servidores y como conectar a controladores de dominio, vamos a seguir  viendo diferentes tareas que podemos hacer una vez conectados a nuestro controlador.

   Recordar que en la lista teníamos las siguientes funcionalidades:

  • Listado de usuarios.
  • Creación de usuarios.
  • Creación de usuarios con csv.
  • Listado de grupos.
  • Creación de grupos.
  • Agregar usuarios a grupos.

PowerShell logo

  De las cuales hoy vamos a ver como realizar las dos primeras, así que vamos a ello.

  La primera es el listado de usuarios completo del dominio, numerado y por orden alfabético:

#Listado de usuarios

Write-Host ‘ LISTADO DE USUARIOS’ -ForegroundColor «Yellow»

#Metemos todos los usuarios del dominio en $array, pero de todos los campos que contiene el usuario en mi caso solo me interesa el samaccountname, podéis variar el campo que deseáis extraer o simplemente estraer todo y darle el formato que queráis a la salida.

$array=(Get-ADUser -filter *).samaccountname

#Creo la variable $i que sera la encargada de ir numerando los usuarios.

$i=0

#Ordenamos los usuarios alfabéticamente.

$array= $array | sort

#Generamos una lista extrayendo los usuarios, numerándolos mediante la variable $i e incrementando esta en +1 tras la extracción de cada usuario.

foreach ($elemento in $array){

echo $i’-‘$elemento

$i++

}

Ahora mismo a lo mejor no tiene mucho sentido listar todos los usuarios de un dominio pero veremos mas adelante como usaremos dicha lista cuando tengamos que asignar usuarios a grupos.

El siguiente paso es como crear usuarios, para ello:

#Creacion de usuarios

Write-Host ‘ CREACION DE USUARIO’ -ForegroundColor «Yellow»

#Definimos una serie de variables con los campos que vamos a rellenar del usuario, algunos como el nombre y apellidos los introduciremos, mientas otros los generaremos con los campos ya introducidos. Ciertas variables como $domain no están siendo definidas, ya que las definimos cuando hicimos la conexión al controlador de dominio que vimos en el post anterior. No obstante si solo deseáis usar esta parte del script, solo tenéis que añadir dicha variable o cambiar el valor por vuestro dominio y dejarlo fijo.

$GivenName=Read-Host ‘Introduzca el Nombre propio del usuario’

$SurName=Read-Host ‘Introduzca el Apellidos del usuario’

$Name=$GivenName+’ ‘+$SurName

$User=Read-Host ‘Introduzca el nombre de Usuario para el dominio’

$Upn=$User+’@’+$domain

$Department=Read-Host ‘Introduzca el departamento’

$Email=$User+’@’+$domain

$Pass=Read-Host ‘Introduzca la contraseña temporal para la cuenta’

$enc_password = (ConvertTo-SecureString $Pass -AsPlainText -Force)

#Creamos el usuario haciendo uso de las variables definidas. El campo -path deberéis rellenarlo según la ubicación de vuestro Active Directory en la que queréis que se creen los usuarios.

New-ADUser -Name $Name -GivenName $GivenName -Surname $SurName -SamAccountName $User -UserPrincipalName $Upn -Enable $true -Description $Department -EmailAddress $Email -AccountPassword $enc_password -path «OU=ScriptUsers,DC=sergio,DC=cloud»

  Con este tenemos ya un poquito mas del script completo a la vista, cuando tengamos todas las funcionalidades veremos como integrarlas en un solo script.

  Espero os sea de ayuda la información como siempre y no olvidéis comentar, dar el pertinente me gusta y enlazar el post en vuestras redes sociales, podéis hacerlo un poquito mas abajo ;).

     Nos vemos pronto.

One comment

  1. […] que tenemos en nuestro Active Directory, el script es básicamente el mismo que vimos para el listado de usuarios, únicamente modificamos el objeto que deseamos extraer de un usuario a un […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *