Gestione del Global Catalog tramite Powershell

Con l’introduzione di Windows Server 2008 R2 è stato introdotto il Active Directory Module for Windows PowerShell che è poi stato arricchito di nuovi cmdlets per gestire un numero sempre maggiore di funzionalità di Active Directory e servizi ad essa correlati, a riguardo si vedano i cmdlets e i moduli Powershell aggiunti nelle varie versioni del sistema operativo:

La gestione del Global Catalog, ad esempio, è una delle funzionalità che è ormai matura per essere gestita completamente in Powershell in modo anche più produttivo.

Di seguito i comandi che è possibile utilizzare per la gestione e l’analisi della configurazione del ruolo Global Catalog.

Ricerca Global Catalog della foresta

Per eseguire tale query è possibile utilizzare il seguente comando disponibile a partire da Windows Server 2008 R2 come indicato in Finding the Global Catalog Servers in a Forest:

Get-ADForest rootdomain.ext | FL GlobalCatalogs

Volendo è anche possibile specificare un dominio figlio o non specificare alcun dominio nel caso si intenda eseguire la ricerca nel dominio corrente, per maggiori informazioni si veda il cmdlet Get-ADForest

In alternativa è possibile anche utilizzare il seguente comando che estrai gli oggetti Domain Controller mostrando per ciascuno le proprietà Name e IsGlobalCatalog:

Get-ADDomainController -Filter * | Select Name, IsGlobalCatalog

Ricerca Global Catalog in un Site

Per eseguire tale query è possibile utilizzare il seguente comando disponibile a partire da Windows Server 2008 R2 come indicato in Finding the Domain Controllers or Global Catalog Servers in a Site:

Get-ADDomainController -Filter {Site -eq ‘SiteName’} | FT Name,IsGlobalCatalog

Verifica record DNS relative al Global Catalog

I Global Catalog sono identificati oltre che in AD anche nel DNS tramite record SRV _gc che possono essere interrogati tramite Powershell mediante il seguente comando:

Get-DnsServerResourceRecord -ZoneName domain.ext -RRType “SRV” -Name “_gc._tcp”

Aggiunta e rimozione del ruolo Global Catalog su un Domain Controller

Tramite Powershell è anche possibile aggiungere o rimuovere il ruolo di Global Catalog modificando le opzioni dell’oggetto NTDSSettings del domain controller.

Di seguito il comando per abilitare il ruolo di Global Catalog:

Set-ADObject -Identity (Get-ADDomainController -Identity “DCName”).NTDSSettingsObjectDN -Replace @{options=’1′}

Mentre di seguito il comando per rimuovere il ruolo di Global Catalog:

Set-ADObject -Identity (Get-ADDomainController -Identity “DCName”).NTDSSettingsObjectDN -Replace @{options=’0′}

Per maggiori informazioni si veda Enabling and Disabling the Global Catalog.

Verifica se la promozione a Global Catalog è completa

Dopo aver avviato la promozione di un domain cotroller al ruolo di Global Catalog è anche possibile verificare se tale operazione si è conclusa tramite il comando:

Get-ADRootDSE -Server DCName | FT GlobalCatalogReady

Per maggiori informazioni si veda Determining Whether Global Catalog Promotion Is Complete.