Aprende Informatica Conmigo

  • Inicio
  • Contenido Anterior
    • VIDEOTUTORIALES
    • Windows Server 2008
    • POWERSHELL

4 julio, 2010 Por oscar Deja un comentario

Windows Server 2008 – Implementando la infraestructura – Parte 1

Cómo ya comenté en en último artículo sobre Windows Server 2008, vamos a intentar crear una infraestructura para poder realizar pruebas mientras aprendemos el funcionamiento del Directorio Activo en 2008 y sus carácterísticas mas relevantes.

Para ponernos en situción, vamos a crear el entorno de trabajo en el primer dominio, que sería: «aic.local«.

Doy por sentado que habéis seguido los anteriores artículos del blog sobre Windows 2008, pero si no es así, lo podéis hacer en este enlace.

Para poder realizar o seguir los tutoriales a partir de éste, debemos tener implementado un controlador de dominio para el dominio «aic.local«. Podéis realizar las pruebas que querais con los tutoriales de 2008.

Hay que dejar claro lo que vamos a hacer en éste dominio y los objetos que crearemos.

En primer lugar, voy a crear, de momento las Unidades Organizativas para alojar las cuentas de usuario o equipo.

  • equipos
    • administracion
    • compras
    • direccion
    • informatica
    • marketing
    • ventas
  • usuarios
    • administracion
    • compras
    • direccion
    • informatica
    • marketing
    • ventas

He realizado un script para crear estas Unidades Organizativas que, si queréis podéis adaptar a vuestras necesidades:


$objDominio=[ADSI]»LDAP://DC=aic,DC=local»
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=equipos»)
$objOU.Put(«description»,»OU para almacenar ordenadores»)
$objOU.SetInfo()
$objDominio=[ADSI]»LDAP://OU=equipos,DC=aic,DC=local»
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=administracion»)
$objOU.Put(«description»,»Equipos del departamento de administracion»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=ventas»)
$objOU.Put(«description»,»Equipos del departamento de ventas»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=compras»)
$objOU.Put(«description»,»Equipos del departamento de compras»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=informatica»)
$objOU.Put(«description»,»Equipos del departamento de informatica»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=marketing»)
$objOU.Put(«description»,»Equipos del departamento de marketing»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=direccion»)
$objOU.Put(«description»,»Equipos del departamento de direccion»)
$objOU.SetInfo()
$objDominio=[ADSI]»LDAP://DC=aic,DC=local»
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=usuarios»)
$objOU.Put(«description»,»OU para almacenar usuarios»)
$objOU.SetInfo()
$objDominio=[ADSI]»LDAP://OU=usuarios,DC=aic,DC=local»
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=administracion»)
$objOU.Put(«description»,»Usuarios del departamento de administracion»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=ventas»)
$objOU.Put(«description»,»Usuarios del departamento de ventas»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=compras»)
$objOU.Put(«description»,»Usuarios del departamento de compras»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=informatica»)
$objOU.Put(«description»,»Usuarios del departamento de informatica»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=marketing»)
$objOU.Put(«description»,»Usuarios del departamento de marketing»)
$objOU.SetInfo()
$objOU=$objDominio.Create(«OrganizationalUnit»,»ou=direccion»)
$objOU.Put(«description»,»Usuarios del departamento de direccion»)
$objOU.SetInfo()


Después de ejutar el script anterior, nos debería quedar como en la siguiente captura de pantalla:

plainfra-01

Antes de empezar a crear usuarios, vamos a ver los que vamos a crear, los ordeno por departamento y para no complicarnos mucho con detalles sin importancia para este laborario de pruebas, voy a nombrar a los equipos y usuarios dependiendo del departamento en el que trabajen. Con esto quiero decir que las cuentas de usuario serán del tipo: «admin01, admin02…», etc..

Empezamos a definir los usuarios que crearemos en cada departamento de AIC:

Administración: admin01 y admin02

Marketing: mark01

Ventas: ventas01 y ventas02

Compras: compras01 y compras02

Directiva: director01

Informatica: infor01, infor02, infor03, infor04, infor05, infor06, infor07, infor08

Las cuentas de usuario las podemos crear a mano desde «Active Directory users and computers», pero también podemos crearlas mediante algún que otro script.

Yo voy a facilitaros este trabajo creando scripts en Powershell, de esta forma copiais el texto, lo guardais en un fichero de texto, lo llamais por ejemplo: «crearusuariosaic.ps1» y lo ejecutais desde Powershell.

A continuación teneis el código:


$objOU=[ADSI]»LDAP://OU=administracion,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=admin01″)
$objUser.Put(«sAMAccountName»,»admin01″)
$objUser.Put(«userPrincipalName»,»admin01″)
$objUser.SetInfo()
dsmod user «CN=admin01,OU=administracion,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=administracion,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=admin02″)
$objUser.Put(«sAMAccountName»,»admin02″)
$objUser.Put(«userPrincipalName»,»admin02″)
$objUser.SetInfo()
dsmod user «CN=admin02,OU=administracion,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=marketing,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=mark01″)
$objUser.Put(«sAMAccountName»,»mark01″)
$objUser.Put(«userPrincipalName»,»mark01″)
$objUser.SetInfo()
dsmod user «CN=mark01,OU=marketing,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=ventas,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=ventas01″)
$objUser.Put(«sAMAccountName»,»ventas01″)
$objUser.Put(«userPrincipalName»,»ventas01″)
$objUser.SetInfo()
dsmod user «CN=ventas01,OU=ventas,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=ventas,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=ventas02″)
$objUser.Put(«sAMAccountName»,»ventas02″)
$objUser.Put(«userPrincipalName»,»ventas02″)
$objUser.SetInfo()
dsmod user «CN=ventas02,OU=ventas,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=compras,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=compras01″)
$objUser.Put(«sAMAccountName»,»compras01″)
$objUser.Put(«userPrincipalName»,»compras01″)
$objUser.SetInfo()
dsmod user «CN=compras01,OU=compras,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=compras,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=compras02″)
$objUser.Put(«sAMAccountName»,»compras02″)
$objUser.Put(«userPrincipalName»,»compras02″)
$objUser.SetInfo()
dsmod user «CN=compras02,OU=compras,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=informatica,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=infor01″)
$objUser.Put(«sAMAccountName»,»infor01″)
$objUser.Put(«userPrincipalName»,»infor01″)
$objUser.SetInfo()
dsmod user «CN=infor01,OU=informatica,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=informatica,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=infor02″)
$objUser.Put(«sAMAccountName»,»infor02″)
$objUser.Put(«userPrincipalName»,»infor02″)
$objUser.SetInfo()
dsmod user «CN=infor02,OU=informatica,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=informatica,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=infor03″)
$objUser.Put(«sAMAccountName»,»infor03″)
$objUser.Put(«userPrincipalName»,»infor03″)
$objUser.SetInfo()
dsmod user «CN=infor03,OU=informatica,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=informatica,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=infor04″)
$objUser.Put(«sAMAccountName»,»infor04″)
$objUser.Put(«userPrincipalName»,»infor04″)
$objUser.SetInfo()
dsmod user «CN=infor04,OU=informatica,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=informatica,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=infor05″)
$objUser.Put(«sAMAccountName»,»infor05″)
$objUser.Put(«userPrincipalName»,»infor05″)
$objUser.SetInfo()
dsmod user «CN=infor05,OU=informatica,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=informatica,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=infor06″)
$objUser.Put(«sAMAccountName»,»infor06″)
$objUser.Put(«userPrincipalName»,»infor06″)
$objUser.SetInfo()
dsmod user «CN=infor06,OU=informatica,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=informatica,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=infor07″)
$objUser.Put(«sAMAccountName»,»infor07″)
$objUser.Put(«userPrincipalName»,»infor07″)
$objUser.SetInfo()
dsmod user «CN=infor07,OU=informatica,OU=usuarios,DC=aic,DC=local» -disabled no

$objOU=[ADSI]»LDAP://OU=direccion,OU=usuarios,DC=aic,DC=local»
$objUser=$objOU.Create(«user»,»CN=director01″)
$objUser.Put(«sAMAccountName»,»director01″)
$objUser.Put(«userPrincipalName»,»director01″)
$objUser.SetInfo()
dsmod user «CN=director01,OU=direccion,OU=usuarios,DC=aic,DC=local» -disabled no


La salida en Powershell de el script anterior puede ser la siguiente:

plainfra-02

Ahora, ya tenemos lo necesario para empezar a trabajar y practicar con los grupos en Windows 2008.

Por lo que a mi entorno, ahora mismo lo tengo así:

plainfra-03

En cuanto al resto de dominios que tenemos que crear, ya los podeís ir creando y dentro de varios artículos, escribiré otro para configurarlos.

Por ahora es todo porque ya lo tenemos listo para empezar con los grupos y eso es lo que tocaremos en los próximos tutoriales sobre Windows Server 2008.

Hasta entonces.

—–

Oscar Abad

http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, scripts powershell, sistemas, tutoriales, windows server 2008 Etiquetado como: aprendeinformaticaconmigo, crear unidades organizativas, crear usuarios, directorio activo

14 junio, 2010 Por oscar 8 comentarios

Windows Server 2008 – Crear usuarios con Visual Basic Script

Otra forma de crear objetos en el Directorio Activo es hacerlo mediante un script de Visual Basic Script.

En el ejemplo que vamos a ver, crearemos el usuario «Ricardo Mendoza«.

Cremos un nuevo fichero de texto vacío. Podemos utilizar el «block de notas» y en este fichero escribimos las siguientes líneas:

Crusvbs01

Aunque no hace falta desgranar por completo el programa puesto que ya hemos visto formatos parecidos cuando lo hacíamos desde Windows Powershell, indicar que el dominio es aic.local, el usuario «Ricardo Mendoza» y el Logon Name «rmendoza«.

Con esta información creo que es suficiente para entender el script.

Por supuesto, podemos añadir muchas mas opciones de configuración del nuevo usuario.

Para ejecutar éste script, podemos hacerlo desde el entorno gráfico de Windows o hacerlo desde la consola de comandos.

Para realizar esto último lo haremos de la siguiente forma, tendiendo en cuenta que el script es: «crearusuario.vbs» y está alojado en nuestro «c:\vbscript«.

Desde una consola de comandos o desde el mismo Powershell escribid lo siguiente:

cscript.exe c:\vbscrpt\crearusuario.vbs

Y listo.

Posteriormente podemos comprobar que se ha realizado correctamente desde «Usuarios y Equipos del Directorio Activo«.

Por ahora lo dejamos aquí, pero mas adelante ampliaremos las posiblidades de Visual Basic Script para crear y/o modificar otro tipo de objetos en el Directorio Activo.

Saludos.

—–

Oscar Abad

http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: sistemas, windows server 2008 Etiquetado como: aprendeinformaticaconmigo, crear usuarios, vbscript

10 junio, 2010 Por oscar 1 comentario

Windows Server 2008 – Crear usuarios con un script de Windows Powershell

En el tutorial anterior sobre Windows Server 2008 ( ——- ) vimos cómo crear un usuario nuevo ejecutando una serie de comandos de Windows Powershell. Pues bien, en esta ocasión vamos a resumir cómo hacerlo mediante un script para que nos sea menos tedioso el trabajo de crear nuevos usuarios.

Os recuerdo que si queréis profundizar un poco en Windows Powershell, podéis revisar los tutoriales que hay en este blog sobre Powershell. Para hacerlo mas rápido, pinchad en este enlace.

También tengo que recordar que, por defecto, Windows Powershell previene la ejecución de scripts. Para ejecutar un script de Windows Powershell que hemos creado, tenemos que modificar la política de ejecución de Windows Powershell de la siguiente manera:

set-executionpolicy remotesigned

Mediante este comando para poder ejecutar scripts locales pero no nos permitirá ejecutar script de ubicaciones remotas.

Una vez que hemos configurado esta parte, vamos a crear el script.

Agrupamos todos los comandos que ejecutamos en el tutorial anterior uno a uno para crear un fichero. El fichero lo podemos crear con el notepad. Como ya sabréis, los script de Powershell tienen la extension «ps1«.

Entonces, abrimos un fichero nuevo y copiamos en el lo siguiente:


$objOU=[ADSI]»LDAP://OU=gente,DC=aic,DC=local»

$objUser=$objOU.Create(«user»,»CN=Alberto Gutierrez»)

$objUser.Put(«sAMAccountName», «agutierrez»)

$objUser.Put(«userPrincipalName», «agutierrez»)

$objUser.Put(«email», «agutierrez@aic.com»)

$objUser.SetInfo()


Ahora guardamos el fichero como «crearusuario.ps1«. Yo lo he guardado en la carpeta «c:\power» que he creado para estos menesteres pero podéis crearlo donde mejor os convenga.

Para ejecutar el script, abrimos Windows Powershell, nos posicionamos en el directorio en el que tenemos guardado nuestro script y escribimos:

./crearusuario.ps1

Como podéis ver, he utilizado «./« antes del nombre del script. Es una medida de seguridad, simplemente.

Ahora comprobamos, mediante Powershell, que se ha creado correctamente el usuario. Escribimos el siguiente comando:

$objUser.ditingushedName

Nos debe mostrar el «distinguishedname» del usuario que acabamos de crear.

Y para examinar los atributos que Active Directory ha configurado automáticamente pondremos:

$objUser | get-member


Hasta aquí hemos llegado con este tutorial.

Ya veis que es bien sencillo, lo único que hace falta es un poco de práctica.

Venga, hasta la próxima.

—–

Oscar Abad

http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: sistemas, windows server 2008 Etiquetado como: aprendeinformaticaconmigo, crear usuarios, script, vbscript

26 abril, 2010 Por oscar Deja un comentario

Windows Server 2008 – Crear usuarios con Windows Powershell

En este artículo vamos a crear un usuario mediante Windows Powershell y para ello tendremos que seguir una serie de pasos que resumo a continuación:

1-. Conectar al contenedor, es decir a la OU donde crearemos el usuario (objeto).

2-. Ejecutar el comando «Create» del contenedor que hemos creado en el paso 1.

3-. Rellenar el objeto con los atributos que necesitemos utilizando el método «Put«.

4-. Hacer que se ejecuten los cambios en el Directory Activo con el método «SetInfo()» del objeto.

El usuario que vamos a crear será «Alberto Gutierrez» y lo crearemos en la OU «gente».

Ahora vamos a ir realizando cada uno de los pasos que he definido al comienzo.

1-. Conectar con la OU «gente».

Para ello, guardaremos la conexión en una variable que en este caso llamaremos: $objOU.

$objOU=[ADSI]»LDAP://OU=gente,DC=aic,DC=local»

Del comando anterior entendemos que Windows Powershell utiliza el tipo de adaptador «Active Directory Services Interface» (ADSI) para comunicarse con los objetos del Directorio Activo.

También utiliza una consulta LDAP para conectar con el objeto del Directorio Activo.

En cuanto al resto del comando, creo que está bastante claro.

Bien, ahora tenemos una variable ($objOU) que contiene la conexión a la OU gente, es decir, $objOU es una referencia al objeto «gente».

2-. Ejecutar el comando «Create».

Una vez que tenemos la referencia a la OU deseada, utilizaremos el comando Create del contenedor.

El comando Create requiere dos parámetros pasados como argumentos. La clase del objeto y el RDN del mismo.

Recordar que el RDN en este caso sería: «CN=Alberto Gutierrez».

Por supuesto, la clase del objeto que queremos crear es «user».

Por consiguiente, construimos el comando:

$objUser=$objOU.Create(«user»,»CN=Alberto Gutierrez»)

Ya vemos que volvemos a guardarlo en otra variable, en este caso «$objUser».

Hasta aquí, podemos observar que todavía no hemos realizado ninguna modificación en el Directorio Activo porque por el momento estamos guardando los comandos o consultas en variables.

Siguiente paso…

3-. Rellenar el objeto con el método Put.

Ya sabremos que hay atributos que son obligatorios a la hora de crear un objeto de usuario. Bien, pues si no lo sabemos os lo digo yo ahora. El atributo requerido es el «pre-Windows 2000 logon name».

El nombre LDAP para este atributo es: «sAMAccoutName». Quedaros bien con el porque lo tendremos que utilizar siempre que vayamos a crear usuarios mediante Powershell.

A parte de éste atributo requerido, existen muchos otros, algunos de ellos son:

userPrincipalName

displayName

givenName

sn

description

company

department

title

mail

Ya os digo que hay muchos mas y si os interesan podéis indagar un poco en la ayuda o documentación de Windows Server 2008 para conocerlos.

Nosotros vamos a rellenar unas pocas propiedades.

$objUser.Put(«sAMAccountName», «agutierrez»)

$objUser.Put(«userPrincipalName», «agutierrez»)

$objUser.Put(«email», «agutierrez@aic.com»)

Con esto tenemos suficiente para empezar, pero si queremos conocer todas las propiedades que podemos utilizar, lo podemos hacer desde la propiedades de un usuario del Directorio Activo. Pestaña «Attribute Editor«.

creuspower01

Podemos ver en la captura anterior que en la columna de la izquierda aparecen los nombres de las propiedades y en la de la derecha el valor que tienen si es que tienen.

4-. Hacer que los cambios tengan efecto.

Para hacer esto, sólo tenemos que lanzar el comando SetInfo() del objeto, como el siguiente:

$objUser.SetInfo()

Este comando no tiene ningún secreto.

5-. Resumen.

A modo de resumen, a continuación tenéis todos los comando ejecutados durante el tutorial:

$objOU=[ADSI]»LDAP://OU=gente,DC=aic,DC=local»

$objUser=$objOU.Create(«user»,»CN=Alberto Gutierrez»)

$objUser.Put(«sAMAccountName», «agutierrez»)

$objUser.Put(«userPrincipalName», «agutierrez»)

$objUser.Put(«email», «agutierrez@aic.com»)

$objUser.SetInfo()

creuspower03

creuspower04

Tened en cuenta que no recibiréis ningún tipo de mensaje cuando ejecutéis estos comandos.

creuspower02

Eso es todo. Os animo a que probéis con algunas de las propiedades que no hemos visto aquí.

En el siguiente tutorial explicaré resumidamente como realizar un script con estos comandos para que nos sea mas sencillo y mas rápido.

Hasta la próxima.

—–

Oscar Abad

http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, sistemas, tutoriales, windows server 2008 Etiquetado como: aprendeinformaticaconmigo, comandos, crear usuarios, directorio activo

Hazte con el tema Divi

Divi WordPress Theme
Libro windows server 2008

Libro certificación Windows Server 2016

Libro certificación Windows Server 2016

Libro Windows Server 2016

Libro Windows Sever 2016
Web Hosting

Últimos artículos

  • PHP función var_dump(): Mostrar el contenido de una variable
  • PHP función unset(): Eliminar variables
  • MySQL LIMIT: Limitar la canidad de filas en una consulta
  • PHP función isset(): Evaluar si una variable está definida
  • PHP función empty(): Comprobar si una variable está vacía
  • MySQL SELECT DISTINCT para encontrar registros con diferente valor en el mismo campo
  • Los mejores libros en español para aprender WordPress

Mis Webs

  • Aprende Informática Conmigo
  • Dinapyme
  • MUSIKP
  • Oscar Abad Folgueira

Proyectos

  • Basabe Baserria
  • Batukada Battuere
  • Bicicletas Sin Pedales
  • Bordalan
  • C.R. Pantano del Rumblar
  • Dinapyme
  • DiverBiblio
  • Egia Ingenieros
  • Hermanos Vivas construcciones
  • Ibartxi – Suministros de Gas y Soldadura
  • LANBASE
  • LS Fotografía
  • Luke and Phil
  • Masajes Mas Sana
  • MUSIKP
  • Oh! Yeah Dev
  • Oscar Abad Folgueira
  • Participación ciudadana Basauri
  • Restaurante Bideko
  • Taldesport
  • Vicente Choya
  • WooCommerce Knowledge2K
  • Inicio
  • Contenido Anterior

Copyright © 2023 · Oscar Abad Folgueira Y DINAPYME· Acceder