Windows Server 2008 – Gestionar miembros de grupos con Powershell y VBScript

Cuando en el título indico «gestionar«, me refieros a eliminar o añadir miembros a los grupos.

Para realizar un script que elimine o añada un miembro a un grupo, en cualquiera de los dos lenguajes de scripting, tendremos que seguir unos pasos que, además nos servirán para entender mejor el funcionamiento.

Los pasos a seguir son tres:

  1. Determinar la ruta DS al miembro. Estas rutas son del tipo: LDAP://<DN del miembro>.
  2. Conectamos con el grupo con el que vamos a trabajar.
  3. Utilizar el método Add (añadir) o Remove (eliminar) del objeto grupo, especificando la ruta DS al miembro.

WINDOWS POWERSHELL

Para añadir un usuario como miembro de un grupo con Windows Powershell realizaremos los pasos anteriores.

Pongamos el ejemplo de que necesitamos añadir al usuario «desarrollo01» como miembro del grupo «ACL_informatica_modificar«.

En primer lugar, guardamos en una variable el DN del usuario (u otro tipo de objeto) que queremos añadir.

$MiembroADSruta = «LDAP://CN=desarrollo01,OU=desarrollo,OU=usuarios,DC=aic,DC=local»

Ahora guardamos en otra varible la conexión con el grupo «ACL_informatica_modificar«, que es el grupo al que le vamos a añadir un miembro.

$objGrupo = [ADSI]»LDAP://CN=ACL_informatica_modificar,OU=grupos,DC=aic,DC=local»

En este momento sólo nos queda invocar al grupo «Add» del objeto «objGrupo» con el parámetro del objeto que queremos añadir. Veámoslo:

$objGrupo.Add ($MiembroADSruta)

Con hemos añadido el usuario «desarrollo01» como miembro del grupo «ACL_informatica_modificar«.

Vemos lo que hemos hecho:

gestgrppowvbs-01

Lo comprobamos en la pestaña «Members» del grupo «ACL_informatica_modificar»:

gestgrppowvbs-02

En efecto, ahí está en usuario «desarrollo01».

Visual Basic Script

Ahora, para realizar un ejemplo con un script de VBScript, vamos a intentar eliminar el usuario «desarrollo01» como miembro del grupo «ACL_informatica_modificar«. Es decir, deshacer el cambio que realizamos antes con Powershell.

Por supuesto, en esta ocasión utilizaremos el método «remove» en lugar de «add«.

El primer paso, como antes, es guardar en una variable el camino al objeto usuario que queremos quitar del grupo.

MiembroADSruta = «LDAP://CN=desarrollo01,OU=desarrollo,OU=usuarios,DC=aic,DC=local»

Ahora, guardamos en otra variable la conexión con el grupo «ACL_informatica_modificar«, pero en esta ocasión utilizaremos el método o función GetObject().

Set objGrupo = GetObject(«LDAP://CN=ACL_informatica_modificar,OU=grupos,DC=aic,DC=local»)

Y por último, ejecutamos el método «Remove» de la varible que contiene la conexión al grupo.

objGrupo.Remove MiembroADSruta

Creamos un fichero de texto con extensión .vbs y guardamos estas tres líneas de código en el.

gestgrppowvbs-03

Comprobamos:

gestgrppowvbs-04

Ya no está el usuario «desarrollo01» como miembro de este grupo.

En este tutorial sólo he realizado unos ejemplos sencillos pero que nos pueden dar una idea de las posibilidades de estas dos herramientas.

Lo dejamos por hoy.

Saludos.

—–

Oscar Abad

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