Temas etiquetados como: ‘AD’

Más botón derecho en AD

8 Febrero, 2010

Principalmente lo que hace este pequeño software gratuito, es añadir en el botón derecho algunas funcionalidades que pueden ayudarte a la administración diaria de un dominio, incorporando de forma gráfica algunas funciones:

- GPupdate

- Apagar máquina

- Reiniciar máquina

- Specops Remote Admin

Requiere la instalación de este software gratuito


http://www.specopssoft.com/web/specops-gpupdate.aspx

Descarga el software e instálalo, no tiene complicación:

Instalación:

specops Más botón derecho en AD

Mira las nuevas funcionalidades:

nuevas opciones Más botón derecho en AD

Grupos predeterminados del sistema e identidades AD

4 Febrero, 2010

Grupos predeterminados del sistema e identidades

Vamos recorda una cosa importante a la que nadie normalmente presta mucha atención esto son los grupos prederterminado que se crean un directorio activo.

•Enterprise Admin ( Situados dentro del contenedor users en el dominio principal del bosque ): Es grupo del miembro administradores de todos los dominios del bosque dando por lo tanto un acceso completo a dicho bosque permitiendo por lo tanto modificar el esquema del direcotio activo y tener control total en todo el bosque.
•Schema Admin (Situados dentro del contenedor users el dominio principal del bosque ): Este grupo tiene control total sobre el esquema del directorio activo, puediendo manipularlo, modificarlo y borrar partes de este.
•Amdinistrators ( Situado en Building contenedor de cada uno de los dominios del bosque ): Este grupo tiene permisos de administrador en todo los datos de los controladores de dominio de su dominio. Este grupo puede introducirse dentro del grupo administradores de empresa si quieres que los administradores administren y tengan permisos dentro de todo el bosque. Por ello este grupo ya está dentro de Enterprise Admin, Schema Admin y domain admin. Este grupo como ya conocemos es el más poderoso dentro del dominio.
•Domain Admin ( Situado dentro de Users de cada dominio ): Este es administrador del dominio en el que está situado. Pero hereda todas los permisos del grupo administrardores. Este es el que se usa para administrar todas las máquinas de dominio, en este grupo se crearán estos usuarios, los que administren máquinas.
•Server Operator: ( Situado en Building Contenedor): Puede realizar tareas de mantenimiento en los controladores de dominio y puede hacer logon en local en los controladores, parar y arrancar servicios, hacer tareas de backups y restores, formatear discos, crear y borrar carpetas compartidas y apagar los controldores. Por defecto este grupo no es miembro de ningun otro grupo.
•Account Operator ( Situado dentro de Building ): Puede crear, modificar y borrar cuentas de usuarios, grupos y máquinas locales en cualquier OU del dominio. Por defecto no está anidado con otros grupos.
•Backups Operator ( Situado dentro de Building en cada dominio ): Este grupo puede hacer backups, restores y apagar dichos controladores.
•Print Operators ( Situado en Building ): Puede consultar las colas de impresión y apagar las máquinas en local.

Diferenciando los grupos unos de otros los grupos anteriores facilitaban a una cuenta unos determinados permisos para operar en el dominio, bien, pues hay otros grupos que son los que se encargar más que de los permisos, de proporcionar identidades a las cuentas de manera que sean identificadas para servicios y recursos.

•Anonymous Logon: Es una cuenta facilitada que no tiene ni usuario ni contraseña. Este grupo es miembreo del grupo “everyone”.
•Authenticated Users: Representa a identidades que han sido autenticadas y que pueden pertenercer a cualquiera de las otras identidades o grupos.
•Everyone: Incluye autentificación para el usuario invitado este grupo pertenece a Anonymous Logon, son grupos que van muy a la par.
•Interactive: Son usuarios que pueden acceder a recursos locales de la máquina y a sus recursos. Cuando entras en una maquina con un usuario dicho usuario es automáticamente añadido al grupo Interactice. Interactive también se utilizar con los usuarios que autentican bajo terminal service.
•Network: Son usuarios que puedenacceder a recursos de red es el opuesto a Interactive. Cuando un usuario autentica en local automáticamente es añadido a este grupo.

Estos dos últimos grupos tiene el siguiente sentido. Imaginemos que queremos dar permisos a un usuario para que no entre en una carpeta cuando inicia sesión en local. Bien, pues tendríamos que usar dicho grupo, denegando los permisos al usuario de dominio para este grupo Interactive para esa carpeta, así cuando entrase, no podría acceder a dicha carpeta en local.

IvanZito
( Algo de teoría nunca viene mal )

Importar usuarios a AD con Powershell ( csv y txt )

30 Diciembre, 2009


Importación de usuarios en powershell desde un excel ( .csv ) o archivo de texto (.txt )

Nota: Es muy aconsejable antes de hacer la lectura de este post, haber comprendido perfectamente el artículo, creación de usuarios con powershell, ya que nos basamos en el para realizar esta operación. La única diferencia es que los datos los recogeremos de variables.

En primer lugar tenemos que tener una hoja de excel o bien un archivo separado por comas.

El formato del archivo tiene que ser delimitado por comas en el caso que sea un archivo de texto o delimitado por los campos de una hoja de excel. En la primera línea, colocaremos los metadatos a rellenar en DA, como si fuese una tabla de una bbdd y ordenados en las lineas de más abajo los datos que rellenaremos según los metadatos de la primera fila:

Metadato1, Metadato2, Metadato3 …

Valor1, Valor2, Valor3 …

Valor1, Valor2, Valor3 …

…etc

Un ejemplo práctico sería el siguiente:

cn,sAMAccountName,FirstName,LastName

Usuario1,usuario.1,Miguel, Martinez

Maria,maria.kill,maria,kill

Para realizar la importación utilizaremos el CMDLET: import-csv

Para esta operación , lo primero que haremos será meter dentro de una variable todo, de manera luego podamos trabajar con ella rápidamente. Vamos a realizarlo de la siguiente forma:

$datos= import-csv “Mis_Usuarios.csv”

Ahora tenemos todo el contenido de la hoja de excel dentro de la variable $datos. Los registros se irán devolviendo uno por uno, como cuando utilizamos un comando de powershell. Así que para realizar la importación y que devuelva todos los datos tendremos que hacer un “loop” con este objetivo, es decir un bucle, sino hacemos esto sólo nos devoverá la primera línea.

En powershell esto se hace con un “foreach” realmente es muy sencillo no te preocpes.

Quedémonos con esto:

foreach($CadaRegistro en $datos) {

Haz lo que sea

}

Diremos que este bucle realiza lo siguiente: Por cada registro que devuelva la variable $datos, es decir, cada registro de la hoja de excel, haces lo que sea, aquí colocaremos las sentencias para introducir el registro que se nos ha devuelto el foreach dentro del AD.

Para referirse a un campo concreto utilizaremos como siempre variable.propiedad ,es decir, si por ejemplo queremos extraer los CNs de la hoja de excel o del archivo de texto, utilizaremos $CadaRegistro.CN y nos devolverá todos los CN de la hoja de excel porque está dentro de un bucle “foreach”. Si lo hacemos sin el bucle sólo nos devolverá el CN del primer registro.

Haremos un ejemplo rápido:

PS C:\> foreach($CadaREgistro in $datos){write-host $CadaRegistro.cn}

Usuario1

Maria

Queremos ahora que nos devuelva el LastName, pues utilizaremos $CadaRegistro.LastName :

PS C:\> foreach($CadaRegistro in $datos){write-host $CadaRegistro.LastName}

Martinez

kill

Es importante tener en cuenta esto porque lo utilizaremos bastante en el script.

Ahora vamos a meter en una variable el CN ( Common Name )

CNs = $CadaRegistro.CN ( esto mete en la variable CNs el common name )

Conociendo el artículo ( Crear usuarios con Porwershell en DA ) vamos a proceder a crear el objeto USER oséa un CN solo utilizando el primer registro ( Ya que no utilzamos un bucle ).

Hemos creado la siguiente variable: CNs = $CadaRegistro.CN , esto almacena en la variable CNs el CN ( Common Name ) del primer registro de la hoja de excel, bien, pues utilizaremos el método “create” del ojeto ADSI para introducir este valor:

$objUser=$objOU.Create(“user”,”CN=”+$CNs)

Bien, espero que hayas entendido esto porque ahora vamos a proceder a realizar el script de importación, ten en cuenta como vamos a meter los datos dentro del script, vamos a realizarlo utilizando variables, estas serán cada uno de los valores de la hoja. Crearemos una variable por cada valor de cada una de las líneas:

Ejemplo lógico:

Metadato1, Metadato2, Metadato3 …

Valor1(Variable1), Valor2(Variable2), (Variable3)Valor3 …

Archivo

cn,sAMAccountName,FirstName,LastName

Usuario1,usuario.1,Miguel, Martinez

Maria,maria.kill,maria,kill

Variables

$cn=$CadaRegistro.cn, $sAMAccountName=$CadaRegistro. sAMAccountName, $FirstName=$CadaRegistro. FirstName …

—————————————————————————————————

Script:

# Creamos el objeto ADSI ( Realizando una consulta ) y lo metemos dentro de la varialbe objOU para utilizarlo:

$objOU=[ADSI]“LDAP://OU=People,DC=dominio,DC=priv”

# Metemos el objeto archivo a importar dentro de la variable: $CadaRegistro

$datos=import-csv “Mis_Usuarios.csv”

# Creamos el bucle y las variables para utilizar como hemos ejemplificado:

foreach($CadaRegistro in $datos) {

#Mapeamos las variables como hemos exlicado:

$cn=$CadaRegistro.cn

$sAMAccountName=$CadaRegistro.sAMAccountName

$givenName=$CadaRegistro.FirstName

$sn=$CadaRegistro.LastName

$displayName=$sn + “, ” + $givenName

$userPrincipalName=$givenName + “.” + $sn + “@dominio.priv”

#Creamos el usuario en el DA

$objUser=$objOU.Create(“user”,”CN=”+$cn)

$objUser.Put(“sAMAccountName”,$sAMAccountName)

$objUser.Put(“userPrincipalName”,$userPrincipalName)

$objUser.Put(“displayName”,$displayName)

$objUser.Put(“givenName”,$givenName)

$objUser.Put(“sn”,$sn)

$objUser.SetInfo()

# Habilitamos el usuario y cambiamos la contraseña

$objUser.SetPassword(“Carpintro1″)

$objUser.psbase.InvokeSet(“AccountDisabled”,$false)

$objUser.SetInfo()

}

—————————————————————————————————

IvanZito

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


-->