Administración de directorios
Introducción
Un servicio de directorio es un elemento central de un sistema de información. Identifica, autentica y agrupa un gran número de objetos. Entre ellos figura la identidad digital de usuarios, ordenadores y servidores.
Existen varios directorios, pero el más conocido de todos es sin duda Active Directory (AD), rebautizado Active Directory Domain Services (ADDS) desde Windows Server 2008. Apareció por primera vez con Windows Server 2000. Se encuentra incluso en las organizaciones más pequeñas (menos de 20 empleados).
Además de las funciones básicas, ADDS ofrece una serie de características adicionales. Entre ellas, la posibilidad de administrar de forma centralizada un gran número de estaciones de trabajo y usuarios a través de objetos llamados políticas de grupo o Group Policy Objects (GPO). También es posible crear grupos de usuarios u ordenadores para facilitar la gestión de derechos en toda la red corporativa.
ADDS es una función muy completa, pero también lleva mucho tiempo administrarla. Para simplificarlo, es necesario conocer un atajo que reduzca las acciones repetitivas sin valor añadido. Por ejemplo, crear un usuario: tanto si crea 1 como 20, sigue siendo la misma operación. Entonces, ¿por qué no intentar automatizarla? Eso es lo que vamos a ver en este capítulo: la posibilidad de automatizar el procesamiento...
Módulo Active Directory
El módulo Active Directory se introdujo en Windows Server 2008 R2. Contiene dos elementos: un proveedor (provider) que permite explorar el árbol de directorios como un sistema de archivos, y un conjunto de comandos PowerShell para administrar todas las funciones de ADDS y AD LDS (Active Directory Lightweight Domain Services).
Esta sección cubre únicamente los principios básicos del módulo. El objetivo de esta sección es ofrecer los fundamentos y mostrar el valor añadido que PowerShell puede aportar a la administración de directorios.
1. Prerrequisitos
El módulo consulta el servicio web del Directorio Activo (Active Directory Web Services). Este está presente por defecto en Windows Server 2008 R2 y versiones posteriores. Si su infraestructura consiste exclusivamente en Windows Server 2008, no podrá utilizar este servicio. Históricamente, era posible instalar este servicio en este sistema operativo, pero Microsoft ya no pone el instalador a disposición para su descarga. Esto es comprensible, ya que Windows Server 2008 dejó de recibir soporte hace varios años.
Por defecto, el módulo Active Directory está disponible cuando se instala el rol ADDS (excepto para Windows Server 2008, por supuesto). Es posible instalar este módulo en estaciones de trabajo cliente Windows. Para ello, es necesario descargar e instalar las Remote Server Administration Tools (RSAT).
Para administrar controles de dominio en 2008 mediante Active Directory Management Gateway Service, debe utilizar RSAT en una estación de trabajo cliente o Windows Server 2008 R2 o superior con el módulo PowerShell. Para instalar este módulo de forma independiente en un servidor, utilice el comando Install-WindowsFeature RSAT-AD-PowerShell.
Una vez que el módulo esté disponible, podrá empezar a utilizarlo. Si la detección automática de módulos está desactivada, deberá importarlo manualmente:
PS > Import-Module ActiveDirectory
Para saber qué comandos contiene el módulo, utilice el comando Get-Command con el parámetro -Module:
Get-Command -Module ActiveDirectory
2. Búsqueda de objetos
La búsqueda de objetos en un directorio es sin duda la acción que más se realiza en términos de administración....
ADSI
1. Acerca de ADSI
ADSI (Active Directory Service Interfaces) es una interfaz de programación basada en la tecnología COM, integrada en el marco .NET. Fue creada por Microsoft para normalizar la interacción con varios tipos de directorio: la base de datos de cuentas locales SAM (Security Account Manager), LDAP (Lightweight Directory Access Protocol, utilizado por Active Directory), NDS (Novell Netware Directory Services) e IIS. Cada interacción es gestionada por proveedores de servicios (también conocidos como monikers en inglés). De este modo, ADSI puede especificar el proveedor de servicios en función del directorio con el que se vaya a contactar. Por lo tanto, ya no es necesario saber cómo interactuar con cada directorio; basta con saber cómo funciona cada interfaz en ADSI.
2. Confusión con Active Directory
A menudo se piensa que ADSI solo puede utilizarse con el Active Directory, y esto se debe en parte a la denominación habitual que recibe. La API ADSI apareció por primera vez en Windows NT 4.0, mientras que el directorio Active Directory lo hizo en Windows Server 2000.
Para utilizar la terminología correcta, hablamos de Active Directory en sistemas anteriores a Windows Server 2008. Después de esta versión, hablamos de Servicios de dominio de d’Active Directory Domain Services (ADDS).
3. ¿Sigue siendo útil hoy en día?
Desde su creación, la API ADSI ha cambiado muy poco. Sin embargo, sigue estando presente, incluso en los sistemas más recientes, como Windows 10 y Windows Server 2016.
La API se ha llevado a PowerShell Core, pero solo está disponible en Windows. No es compatible con entornos Linux o macOS.
¿Cuáles son las ventajas de utilizar la API ADSI? Para el procesamiento diario, utilizar el conjunto de comandos de Active Directory es más que suficiente. Pero aun así es necesario poder utilizarlo. El módulo Active Directory solo puede utilizarse desde un Active Directory en Windows Server 2008 R2 (o incluso 2008). Por lo tanto, es totalmente apropiado utilizar ADSI con versiones anteriores. Además, las versiones cliente de los sistemas operativos Windows tienen ADSI por defecto, lo que no es el caso del módulo Active Directory, que requiere la instalación de herramientas de administración remota (RSAT).
ADSI también...
ADSIPS
ADSIPS es un módulo comunitario creado por François-Xavier Cat, MVP francófono desde hace varios años. Su principal motivación fue prescindir del módulo Active Directory y poder utilizar ADSIPS en cualquier sistema operativo Windows y en cualquier dominio.
El código fuente del proyecto está disponible gratuitamente en la plataforma GitHub: https://github.com/lazywinadmin/AdsiPS
Para saber más sobre ADSI y las distintas sintaxis y modos de funcionamiento, es recomendable consultar el código fuente, que constituye una valiosa fuente de referencia.
Una vez familiarizado con ADSI, se podrá incluso contribuir al desarrollo del módulo aportando su propia contribución, como hemos hecho nosotros haciendo una modesta aportación al proyecto.
También puede utilizarlo descargando el módulo directamente de la PowerShell Gallery :
PS > Install-Module ADSIPS -Force