Public/Get-ADDomainControllersBySite.ps1
|
Function Get-ADDomainControllersBySite() { <# .SYNOPSIS This function uses a .net call to attempt to search for and return Domain Controllers for a specific site. .PARAMETER sAdSite [Mandatory] This string parameter should specify the Active Directory site in which for search for Domain Controllers .EXAMPLE $objAD = Get-ADDomainControllersDotNet -sAdSite "ADSite1" The returned object will contain an array of the domain controllers listed in the AD site or will return an error if none have been found. .NOTES MVogwell Version history: 1.0 - Initial release #> [CmdletBinding()] param ( [Parameter(Mandatory=$true)][string]$sAdSite ) BEGIN { $ErrorActionPreference = "Stop" } PROCESS { # Search for the domain controllers on the local site [System.DirectoryServices.ActiveDirectory.DirectoryContextType]$objContextType = 0 $objADContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext -ArgumentList $objContextType $arrDomainControllers = [System.DirectoryServices.ActiveDirectory.DomainController]::FindAll($objADContext,$sAdSite) } END { return Write-Output $arrDomainControllers -NoEnumerate } } |