Configuración de Active Directory Domain Services¶
Descripción¶
Active Directory Domain Services (AD DS) es un servicio crítico de Windows Server que gestiona la información de usuarios, equipos y recursos de red en un dominio. Esta guía muestra cómo instalar y configurar Active Directory usando PowerShell.
Paso 1: Instalación de Active Directory Domain Services¶
Para instalar el rol de Active Directory Domain Services en Windows Server, utiliza el siguiente comando de PowerShell:
# Instalar el rol de Active Directory Domain Services
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
# O usando el módulo ServerManager (método alternativo)
Add-WindowsFeature AD-Domain-Services
Explicación del comando:
Install-WindowsFeature: Cmdlet de PowerShell para instalar roles y características de Windows Server-Name AD-Domain-Services: Especifica el nombre del rol a instalar-IncludeManagementTools: Incluye las herramientas de administración (RSAT) necesarias para gestionar AD DS
Requisitos previos:
- Sistema operativo Windows Server (no funciona en Windows 10/11 cliente)
- Permisos de administrador
- Acceso a los archivos de instalación de Windows Server
Paso 2: Verificación del Funcionamiento¶
Una vez instalado, verifica que Active Directory está funcionando correctamente con los siguientes comandos:
Verificar que el servicio está instalado:¶
# Verificar que el rol está instalado
Get-WindowsFeature -Name AD-Domain-Services
# Verificar servicios relacionados con Active Directory
Get-Service | Where-Object {$_.DisplayName -like "*Active Directory*" -or $_.DisplayName -like "*Domain*"}
Verificar servicios de Active Directory:¶
# Listar todos los servicios de Active Directory
Get-Service | Where-Object {
$_.Name -like "*NTDS*" -or
$_.Name -like "*DNS*" -or
$_.Name -like "*Netlogon*" -or
$_.DisplayName -like "*Active Directory*"
} | Format-Table Name, DisplayName, Status, StartType -AutoSize
Verificar estado del servicio NTDS (Active Directory Domain Services):¶
# Verificar el servicio principal de AD DS
$ntdsService = Get-Service -Name "NTDS" -ErrorAction SilentlyContinue
if ($ntdsService) {
Write-Host "Servicio NTDS encontrado" -ForegroundColor Green
Write-Host "Estado: $($ntdsService.Status)" -ForegroundColor Yellow
Write-Host "Tipo de inicio: $($ntdsService.StartType)" -ForegroundColor Yellow
} else {
Write-Host "Servicio NTDS no encontrado. Active Directory puede no estar configurado." -ForegroundColor Red
}
Verificar configuración del dominio:¶
# Verificar si el servidor es un controlador de dominio
$domainController = (Get-WmiObject Win32_ComputerSystem).DomainRole
switch ($domainController) {
0 { Write-Host "Equipo independiente" -ForegroundColor Yellow }
1 { Write-Host "Miembro del dominio" -ForegroundColor Yellow }
4 { Write-Host "Controlador de dominio de respaldo" -ForegroundColor Green }
5 { Write-Host "Controlador de dominio principal" -ForegroundColor Green }
default { Write-Host "Estado desconocido" -ForegroundColor Red }
}
# Obtener información del dominio
try {
$domain = Get-ADDomain -ErrorAction Stop
Write-Host "Nombre del dominio: $($domain.Name)" -ForegroundColor Green
Write-Host "Nombre NetBIOS: $($domain.NetBIOSName)" -ForegroundColor Green
Write-Host "Nivel funcional del dominio: $($domain.DomainMode)" -ForegroundColor Green
} catch {
Write-Host "No se pudo obtener información del dominio. Verifica que AD DS esté configurado." -ForegroundColor Red
}
Verificar módulo de Active Directory:¶
# Verificar si el módulo de Active Directory está disponible
$adModule = Get-Module -ListAvailable -Name ActiveDirectory
if ($adModule) {
Write-Host "Módulo Active Directory encontrado" -ForegroundColor Green
Write-Host "Versión: $($adModule.Version)" -ForegroundColor Yellow
# Importar el módulo
Import-Module ActiveDirectory
# Listar cmdlets disponibles
Write-Host "`nCmdlets disponibles:" -ForegroundColor Cyan
Get-Command -Module ActiveDirectory | Select-Object -First 10 Name
} else {
Write-Host "Módulo Active Directory no encontrado. Instálalo con:" -ForegroundColor Red
Write-Host "Install-WindowsFeature RSAT-AD-PowerShell" -ForegroundColor Yellow
}
Script Completo de Verificación¶
# Verificar-ADDS.ps1
# Script completo para verificar la instalación y funcionamiento de Active Directory
Write-Host "==========================================" -ForegroundColor Cyan
Write-Host "VERIFICACIÓN DE ACTIVE DIRECTORY" -ForegroundColor Cyan
Write-Host "==========================================" -ForegroundColor Cyan
Write-Host ""
# Paso 1: Verificar instalación del rol
Write-Host "1. Verificando instalación del rol AD-DS..." -ForegroundColor Yellow
$feature = Get-WindowsFeature -Name AD-Domain-Services
if ($feature.InstallState -eq "Installed") {
Write-Host " ✓ Rol AD-Domain-Services instalado" -ForegroundColor Green
} else {
Write-Host " ✗ Rol AD-Domain-Services NO instalado" -ForegroundColor Red
Write-Host " Para instalar ejecuta: Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools" -ForegroundColor Yellow
}
Write-Host ""
# Paso 2: Verificar servicios
Write-Host "2. Verificando servicios de Active Directory..." -ForegroundColor Yellow
$services = Get-Service | Where-Object {
$_.Name -like "*NTDS*" -or
$_.Name -like "*DNS*" -or
$_.Name -like "*Netlogon*"
}
if ($services) {
foreach ($service in $services) {
$color = if ($service.Status -eq "Running") { "Green" } else { "Red" }
Write-Host " $($service.Name): $($service.Status)" -ForegroundColor $color
}
} else {
Write-Host " ✗ No se encontraron servicios de Active Directory" -ForegroundColor Red
}
Write-Host ""
# Paso 3: Verificar si es controlador de dominio
Write-Host "3. Verificando rol del servidor..." -ForegroundColor Yellow
$domainRole = (Get-CimInstance Win32_ComputerSystem).DomainRole
switch ($domainRole) {
{$_ -in 4, 5} {
Write-Host " ✓ Este servidor es un Controlador de Dominio" -ForegroundColor Green
}
default {
Write-Host " ✗ Este servidor NO es un Controlador de Dominio" -ForegroundColor Red
}
}
Write-Host ""
# Paso 4: Verificar módulo de PowerShell
Write-Host "4. Verificando módulo de Active Directory..." -ForegroundColor Yellow
$adModule = Get-Module -ListAvailable -Name ActiveDirectory
if ($adModule) {
Write-Host " ✓ Módulo Active Directory disponible" -ForegroundColor Green
Import-Module ActiveDirectory -ErrorAction SilentlyContinue
# Intentar obtener información del dominio
try {
$domain = Get-ADDomain -ErrorAction Stop
Write-Host " ✓ Dominio configurado: $($domain.Name)" -ForegroundColor Green
} catch {
Write-Host " ⚠ Dominio no configurado o no accesible" -ForegroundColor Yellow
}
} else {
Write-Host " ✗ Módulo Active Directory no encontrado" -ForegroundColor Red
Write-Host " Para instalar ejecuta: Install-WindowsFeature RSAT-AD-PowerShell" -ForegroundColor Yellow
}
Write-Host ""
Write-Host "==========================================" -ForegroundColor Cyan
Integración con el Sistema de Gestión¶
Los servicios de Active Directory pueden añadirse al sistema de seguimiento:
# Añadir servicios de AD al seguimiento
$serviciosAD = @(
[PSCustomObject]@{
Nombre = "NTDS"
DisplayName = "Active Directory Domain Services"
Estado = (Get-Service -Name "NTDS" -ErrorAction SilentlyContinue).Status
TipoInicio = (Get-Service -Name "NTDS" -ErrorAction SilentlyContinue).StartType
Descripcion = "Servicio principal de Active Directory Domain Services"
PID = (Get-CimInstance Win32_Service -Filter "Name='NTDS'").ProcessId
},
[PSCustomObject]@{
Nombre = "DNS"
DisplayName = "DNS Server"
Estado = (Get-Service -Name "DNS" -ErrorAction SilentlyContinue).Status
TipoInicio = (Get-Service -Name "DNS" -ErrorAction SilentlyContinue).StartType
Descripcion = "Servicio DNS necesario para Active Directory"
PID = (Get-CimInstance Win32_Service -Filter "Name='DNS'").ProcessId
},
[PSCustomObject]@{
Nombre = "Netlogon"
DisplayName = "Netlogon"
Estado = (Get-Service -Name "Netlogon" -ErrorAction SilentlyContinue).Status
TipoInicio = (Get-Service -Name "Netlogon" -ErrorAction SilentlyContinue).StartType
Descripcion = "Servicio de autenticación de dominio"
PID = (Get-CimInstance Win32_Service -Filter "Name='Netlogon'").ProcessId
}
)
# Exportar a CSV
$serviciosAD | Export-Csv -Path "Servicios-Seguimiento.csv" -Append -NoTypeInformation
Cmdlets Útiles de Active Directory¶
Una vez instalado y configurado, puedes usar estos cmdlets:
# Gestión de usuarios
Get-ADUser -Filter *
New-ADUser -Name "UsuarioPrueba" -SamAccountName "usuario.prueba"
Remove-ADUser -Identity "usuario.prueba"
# Gestión de grupos
Get-ADGroup -Filter *
New-ADGroup -Name "GrupoPrueba" -GroupScope Global
Add-ADGroupMember -Identity "GrupoPrueba" -Members "usuario.prueba"
# Gestión de equipos
Get-ADComputer -Filter *
New-ADComputer -Name "EquipoPrueba"
# Información del dominio
Get-ADDomain
Get-ADForest
Get-ADDomainController
Consideraciones Importantes¶
- Solo en Windows Server: Active Directory solo está disponible en Windows Server, no en Windows 10/11
- Permisos de administrador: Se requieren permisos elevados para instalar y configurar
- Reinicio necesario: Puede requerir reinicio después de la instalación
- Configuración adicional: Después de instalar el rol, se debe ejecutar
dcpromoo usarInstall-ADDSForestpara configurar el dominio - Entorno de pruebas: Se recomienda usar una máquina virtual para pruebas