Puedes usar el Get-ADDomainController Cmdlet de PowerShell para obtener información sobre los controladores de dominio en Active Directory. Este cmdlet es parte del módulo PowerShell Active Directory y requiere la instalación de RSAT (en Windows 10 1809 y más reciente, RSAT se instala de una manera diferente).
Cmdlet Get-ADDomainController
Cuando se ejecuta Get-ADDomainController sin ningún parámetro, el cmdlet muestra la información sobre el controlador de dominio actual (LogonServer) que usa esta computadora para autenticarse (el DC se selecciona de acuerdo con el sitio de AD y la topología de subredes IP).
El cmdlet devolvió todos los campos con la información sobre el controlador de dominio disponible en la base de datos de Active Directory.
ComputerObjectDN : CN=MunDC01,OU=Domain Controllers,DC=corp,DC=woshub,DC=com DefaultPartition : DC=corp,DC= woshub,DC=com Domain : corp.woshub.com Enabled : True Forest : woshub.com HostName : MunDC01.corp.woshub.com InvocationId : 921234a-2a32-4312-9e12-3b32343ab4ad IPv4Address : 192.168.1.6 IPv6Address : IsGlobalCatalog : True IsReadOnly : False LdapPort : 389 Name : MunDC01 NTDSSettingsObjectDN : CN=NTDS Settings,CN=MunDC01,CN=Servers,CN=DE,CN=Sites,CN=Configuration,DC=woshub,DC=com OperatingSystem : Windows Server 2012 R2 Standard OperatingSystemHotfix : OperatingSystemServicePack : OperatingSystemVersion : 6.3 (9600) OperationMasterRoles : {} Partitions : {DC=ForestDnsZones,DC=woshub,DC=com, DC=DomainDnsZones,DC=corp,DC=woshub,DC=com, CN=Schema,CN=Configuration,DC=woshub,DC=com...} ServerObjectDN : CN=MunDC01,CN=Servers,CN=DE,CN=Sites,CN=Configuration,DC=woshub,DC=com ServerObjectGuid : 8123453-e294-1234-a987-1234535432d6 Site : DE SslPort : 636
Además, puede encontrar el controlador de dominio al que debe pertenecer su computadora a través del servicio DCLocator:
Get-ADDomainController –Discover
Puede encontrar el DC disponible más cercano con el rol activo de servicios web de AD:
Get-ADDomainController –ForceDiscover -Discover -Service ADWS
Puedes usar el Servicio parámetro para encontrar el PDC (u otro rol de FSMO) en su dominio:
Get-ADDomainController -Discover -Service PrimaryDC
Si su controlador de dominio no se encuentra o no responde, puede encontrar el controlador de dominio en el sitio de AD más cercano (determinado por el peso de los enlaces entre sitios):
Get-ADDomainController –Discover –ForceDiscover -NextClosestSite
Para mostrar la lista de todos los controladores de dominio en el dominio actual, ejecute este comando:
Get-ADDomainController -Filter * | ft
Con este comando, puede contar la cantidad de controladores de dominio en AD:
Get-ADDomainController -Filter * | Measure-Object
Puede mostrar una tabla más conveniente que muestre todos los controladores de dominio, sus nombres de host, direcciones IP, versiones de SO y nombres de sitios de AD:
Get-ADDomainController -Filter *| Select Name, ipv4Address, OperatingSystem, site | Sort-Object name
Si desea obtener información sobre un DC de otro dominio, especifique el nombre de cualquier DC disponible en otro dominio usando el -Servidor parámetro (es posible en caso de habilitar relaciones de confianza entre los dominios).
Get-ADDomainController -Filter * -server dc01.test.com | Select Name, ipv4Address, IsGlobalCatalog, Site
Uso de Get-ADDomainController para encontrar controladores de dominio según ciertos criterios
Consideremos algunos comandos útiles que puede usar para obtener la lista de controladores de dominio en AD de acuerdo con ciertos criterios.
Para encontrar un controlador de dominio por su dirección IP:
Get-ADDomainController -Identity "192.168.100.6"
Para encontrar todos los países en desarrollo que tienen DC02 en sus nombres:
Get-ADDomainController -Filter {name -like "*dc02*"} | Select Name, ipv4Address, OperatingSystem, site
Para encontrar todos los CD disponibles en el sitio específico:
Get-ADDomainController -Discover -ForceDiscover -Site "Site-Name"
Para mostrar la lista de DC en los sitios, cuyos nombres comienzan con Mun *:
Get-ADDomainController -Filter {site -like "Mun*"} | Select Name, ipv4Address, OperatingSystem, site
Para mostrar la lista de todos los controladores de dominio de solo lectura (RODC):
Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select Name, ipv4Address, OperatingSystem, site
Para encontrar DC en el sitio «Roma» con la función de Catálogo global habilitada:
Get-ADDomainController -Filter {site -eq "Rome" -and IsGlobalCatalog -eq $true} | Select Name, ipv4Address, OperatingSystem, site
Script de PowerShell para comprobar la disponibilidad de todos los controladores de dominio
El siguiente script de PowerShell permite verificar sus controladores de dominio uno por uno y realizar la acción específica para cada uno de ellos:
$DCs = Get-ADDomainController -Filter *
ForEach($DC in $DCs)
{
do something
}
A continuación, se muestra un ejemplo de una secuencia de comandos simple de PowerShell que verifica la disponibilidad del puerto LDAPS (TCP 636) en cada DC de su dominio mediante el cmdlet Test-NetConnection. Si el puerto LDAPS no está disponible, aparecerá una advertencia.
$DCs = Get-ADDomainController -Filter * | Select-Object Hostname,Ipv4address,isGlobalCatalog,Site,Forest,OperatingSystem
ForEach($DC in $DCs)
{
$PortResult=Test-NetConnection -ComputerName $DC.Hostname -Port 636 -InformationLevel Quiet
if ($PortResult -ne "$True"){
write-host $DC.Hostname " not available" -BackgroundColor Red -ForegroundColor White
}else {
write-host $DC.Hostname " available" -BackgroundColor Green -ForegroundColor White}
}
Tenemos un script simple para monitorear la disponibilidad de todos los controladores de dominio en su dominio.
También hay diferentes escenarios para verificar todos los controladores de dominio en el dominio uno por uno. En artículos anteriores, mostramos cómo usar el cmdlet Get-ADDomainController para encontrar el evento específico en los registros de todos los controladores de dominio. Por ejemplo, para encontrar eventos de bloqueo de cuenta de usuario, eventos de autenticación NTLMv1, eventos de agregar un usuario a un grupo de seguridad de AD, etc.
Artículos Interesantes
Relacionados:
Contenido