我有一个包含许多 AD 域的大森林,并且经常添加新域。我需要这些 AD 域的列表来查询每个 DC。
答案1
GetAllTrustRelationships()
并不是枚举林中所有域的一种非常安全的方法,并且可能还包括其他林/域。
Domains
从 Forest 对象中获取引用:
function Get-ADInside
{
$Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
$Domains = $Forest.Domains
$Domains |Select -ExpandProperty Name
}
答案2
此功能列出林中可用的 Active Directory 域(包括当前域 => $Forest.Domains.name)
function get-AdInside () {
$MainForest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
$ForestTrusts = $MainForest.GetAllTrustRelationships()
$ADs = @($MainForest.Domains.name)
$ADs += $ForestTrusts.TargetName
return $ADs
}
使用当前域名 2008-2008r2-2012+ 进行测试