Creación de usuarios en DA con Powershell

29 Diciembre, 2009 por Carlos Arroba Dejar una respuesta »

Crear usuarios con powershellps Creación de usuarios en DA con Powershell

Primero conecta al directorio activo, para conectar lo que hay que hacer es hacer una consulta que nos coloque en la unidad organizativa donde vamos a trabajar, para crear, por ejemplo un usuarios. Las consultas en powershell se hacen con el objeto ADSI de .NET.
Crearemos el objeto creando una variable con la consulta al AD utilizando una ruta DN de la siguiente manera. El ADSI se mete entre corchetes no es más que el tipo de datos que declaramos .
Con esto se creará el ojeto para ser utilizado ( Al crear un tipo de datos ADSI de Active Directory ) el cual es una variable con una consulta automáticamente se crea el objeto en memoria dentro de la variable y ya está listo para ser utilizado.
Creamos el objeto y nos colocamos dentro de la unidad organizativa: People
$objOU=[ADSI]“LDAP://OU=People,DC=dominio,DC=priv”

Ahora vamos a invocar al método para crear un objeto usuario. Hacemos referencia al médodo “crear” llamándole con la variable.metodo en este caso, la variable ya es el objeto que hemos creado en la linea anterior.

La llamada sería $objUser.create(). Es importante utilizar una ruta RDN ( Relative Domain Name ) ya que estamos colocados dentro de la OU People, esto lo hicimos cuando ya creamos el objeto. Si utilizamos una ruta DN como en el primer caso no podremos utilzarlo.
$objUser=$objOU.Create(“user”,”CN=Natalia Jimenez”)

Para rellenar un atributo, tendremos que hacer referencia al objeto llamando al método “Put” como hemos dicho llamaremos a los métodos en powershell objeto.metodo como el objeto está dentro de la variable, ya podemos utilizarlo de la siguiente manera $variable.put() o bien en el caso prático como veremos a continuación.
El parámetro que se le pasa al método “Put” es (“atributo”,”valor del atributo”). Fijaté en el siguiente punto:
$objUser.Put(“sAMAccountName”,”mary.north”)
Para terminar hacemos un commit de los datos almacenados en la variable.
Para ello utilizaremos el método SetInfo. Recuerda que será variable.metodo():

$objUser.SetInfo()
Algunos atributos más
Hay algunos atributos interesantes que debemos conocer, en todos utilizamos el método “put” para rellenarlos, fíjate que utilizamos en lugar de una cadena de texto ya una variable de manera que definiremos los “string” ( valores a introducir en el atributo ya arriba por medio de variables )
# Variables que vamos utilizar
$samAccountName = “Ivanzito”
$userPrincipalName = “ivanzito”
$diplayname= “Iván Ruiz”
…etc ( así con todas las variables )
# Metodo put
$objUser.put(“sAMAccountName”,$samAccountName)
$objUser.put(“userPrincipalName”,$userPrincipalName)
$objUser.put(“displayName”,$displayName)
$objUser.put(“givenName”,$givenName)
$objUser.put(“sn”,$sn)
$objUser.put(“description”,$description)
$objUser.put(“company”,$company)
$objUser.put(“department”,$department)
$objUser.put(“title”,$title)
$objUser.put(“mail”,$mail)
$objUser.SetInfo()
Para establecer el password lo haremos con:
$objUser.SetPassword(“C0mp!exP@ssw0rd”)
Para realizar una acción sobre el objeto llamaremos al método invokepsbas.invokeSet() con los valores “AcountDisabled” y $False en este caso para habilitar el usuario ya que este se crea deshabilitado.
$objUser.psbase.InvokeSet(“AccountDisabled”,$false)
$objUser.SetInfo()
Aquí te dejo un ejemplo que funciona perfecto, es muy imporate un concepto para que funcione. Tienes primero que crear el usuario y luego habilitar la cuenta y cambiar la contraseña. Si no se ha creado el objeto antes, no puedes realizar las dos últimas acciones:
—————————————————————————————————
# Aquí tienes un ejemplo muy sencillo
# Recuerda que tienes que cambiar la ruta DN en la primera línea
# Cambia el nombre en la segunda línea
# el nobre de la cuenta en la tercera
# Haz un commit en la última línea
$objOU=[ADSI]“LDAP://OU=People,DC=dominio,DC=priv”
$objUser=$objOU.Create(“user”,”CN=usr3″)
$objUser.Put(“sAMAccountName”,”usr.3″)
$objUser.SetInfo()
# Ya una vez que hemos creado el usuario, es ahora cuando cambiamos la contraseña y habilitamos el usuario.
$objUser.SetPassword(“Carpintero4″)
$objUser.psbase.InvokeSet(“AccountDisabled”,$false)
$objUser.SetInfo()
—————————————————————————————————

IvanZito

Publicidad

Trackbacks /
Pingbacks

  1. WindowsBrownResolver

Dejar una Respuesta


-->