Temas etiquetados como: ‘Microsoft’

Creación de usuarios en DA con Powershell

29 Diciembre, 2009

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

Importar usuarios desde Excel o txt a AD

28 Diciembre, 2009

Este pequeño artículo define de una forma muy sencilla la manera de importar usuarios a un Active Directory desde una hoja de excel (.csv) o desde un archivo de texto (.txt)

Para ello utilizaremos el comando: CSVDE

Mostraremos ahora como crear un archivo de texto y como utilizar dicho comando para realizar la importación de usurios

Es conveniente conocer los parámetros de este comando, son muy sencillos:

-i : Muy necesario ya que pone el comando en modo “import”
-f : indica el archivo que vamos a utilizar para importar ( URL del excel )
-k : se usa para ocultar los errores de duplicidad de objetos o errores en atributos saltándose estos.. Es recomendable crear una archivo como salida para ver dichos errores y proceder a su corrección posteriormente.

La hoja de excel o bien el archivo de texto separado por comas debe tener la siguiente estrucutra, las columnas son la primera fila, siendo estos los metadatos de Active Directory que que quieres rellenar y bajo estos ordenados de la misma forma lo que vamos a rellenar, como ves, la primera palabra de cada registro es el tipo de objeto que en este caso es un “User”:

Ejemplo usuarios.txt

objectClass,sAMAccountName,dn
user,user5,” CN=user5 Apellido5,OU=People,DC=dominio,dc=priv”
user,user6,” CN=user6 Apellido6,OU=People,DC=dominio,dc=priv”
user,user7,” CN=user7 Apellido7,OU=People,DC=dominio,dc=priv”

Ejecutamos el siguiente comando para ejecutar la importación:

PS C:\> csvde -i -f usuarios.txt >> errores.log

Connecting to “(null)”
Logging in as current user using SSPI
Importing directory from file “usuarios.txt”
Loading entries….
3 entries modified successfully.

Quizá te ahorre algún trabajo si te toca un “brown” de crear 300 usuarios.

IvanZito

Comandos DN ( Administración AD )

28 Diciembre, 2009



Vamos a repasar algunos comandos muy útiles y poco conocidos para los administradores que no trabajan con Active Directory normalmente. Estos comandos son los denominados DS Command. Sirven para manejar los objetos del directorio activo y son los siguientes.


DsAdd: Crea un objeto en el Directorio Activo

DsGet: Devuelve atributos específicos de un objeto

DsMod: Modifica atraibutos de un objeto del Directorio Activo.

DsMove: Mueve objetos de un contenedor a otro dentro del Active Directory

DsRm: Borra un objeto. Ten cudidado con este comando porque por defecto borra todo el arbol de objetos del dominio.

DsQuery: Devuelve parámetros basados en consultas sobre el Active Directory. Por defecto la salida del comando te da la ruta ( DN ) Domain Name, la habitual ( “CN=Barcelona, OU=Oficina de Madrid,DC=Dominio,DC=Priv” ) pero con el modificados “-o” puedes hacer que la salida sea un RDN ( Relative Domain Name ), UPN, Pre-Windows 2000 … etc.


IvanZito

Herramienta para comprobar el estado del Directorio Activo

16 Septiembre, 2009

Con el nuevo Microsoft IT Environment Health Scanner podemos comprobrar el estado actual de nuestro Directorio Activo.

Esta nueva herramienta comprueba los siguientes aspectos:scanad 300x177 Herramienta para comprobar el estado del Directorio Activo

* Controladores de Dominio
* Sites y Subredes
* Replicación del Directorio
* Replicación de SYSVOL
* Sistema DNS
* Servicio de sincronización horaria
* Configuración de red de Domain Controles, servidores DNS y servidores de Exchange


-->