<# .SYNOPSIS This function will get the domain controllers in a forest. .DESCRIPTION This function will get the domain controllers in a forest. The function will read the domains in the forest and check the domain controllers in each domain. The function will then output the domain, host name, and site of each domain controller. The function will display the output in a table format. The function will also handle any errors that occur during the process and continue to the next domain controller. .EXAMPLE Get-ForestDCs This will run the function and get the domain controllers in the forest. .EXAMPLE Get-ForestDCs -ReferenceDomain "yourdomainname.com" This will run the function and get the domain controllers in the specified domain. .INPUTS The domain to use as a reference for the forest. The domain should be specified in the function. .OUTPUTS The function will output the domain, host name, and site of each domain controller. The function will display the output in a table format. .NOTES This function is used for getting the domain controllers in a forest. #> Function Get-ForestDCs { [CmdletBinding()] param( [string]$ReferenceDomain = $env:USERDOMAIN ) $ForestObj = Get-ADForest -Server $ReferenceDomain foreach($Domain in $ForestObj.Domains) { Get-ADDomainController -Filter * -Server $Domain | Select-Object Domain,HostName,Site } }