기존의 PowerShell은 AD 사이트 정보를 수집하려는 경우 도움이 됩니다. 예를 들어 Active Directory 사이트 위치, 구성된 사이트 옵션, 해당 사이트에 할당된 ISTG, 사이트 링크 및 브리지헤드 서버 등이 있습니다. 아래 PowerShell 스크립트는 New-Object 함수를 사용해 Directory Context에 연결한 다음 모든 Active Directory 사이트를 가져옵니다. 모든 Active Directory 사이트는 변수에 저장됩니다. 스크립트는 ForEach 루프를 사용해 변수에 저장된 각 사이트를 순회하며 사이트 정보를 CSV 파일에 추가합니다.
$ReportFile = "C:TempADSiteInfo.CSV"
Remove-item $ReportFile -ErrorAction SilentlyContinue
$ThisString="AD Site,Location,Site Option,Current ISTG,Subnets,Servers,In Site Links,Bridgehead Servers"
Add-Content "$ReportFile" $ThisString
$CurForestName = "Netwrix.com"
$a = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("Forest", $CurForestName)
[array]$ADSites=[System.DirectoryServices.ActiveDirectory.Forest]::GetForest($a).sites
$ADSites
ForEach ($Site in $ADSites)
{
$SiteName = $Site.Name
$SiteLocation = $site.Location
$SiteOptions = $Site.Options
$SiteISTG = $Site.InterSiteTopologyGenerator
[array] $SiteServers = $Site.Servers.Count
[array] $SiteSubnets = $Site.Subnets.Count
[array] $SiteLinks = $Site.SiteLinks.Count
[array] $SiteBH = $Site.BridgeheadServers.Count
$FinalVal=$SiteName+","+'"'+$SiteLocation+'"'+","+'"'+$SiteOptions+'"'+","+$SiteISTG+","+$SiteSubnets+","+$SiteServers+","+$SiteLinks+","+$SiteBH
Add-Content "$ReportFile" $FinalVal
}
위의 PowerShell 스크립트를 실행하면 “C:TempADSiteInfo.CSV” 파일에 각 Active Directory 사이트의 정보가 저장됩니다. 기본적으로 스크립트는 현재 Active Directory 포리스트에 연결한다는 점에 유의하세요. 보고서 파일 위치를 변경하려면 $ReportFile 변수 값을 수정하십시오.
Active Directory용 PowerShell 스크립트가 더 필요하신가요? 가장 많이 찾는 모든 Active Directory용 PowerShell 명령을 한 편의 블로그 게시물에서 확인하세요.
공유하기
더 알아보기
저자 소개
Nirmal Sharma
님말은 MCSEx3, MCITP이며 디렉터리 서비스 및 Windows 네트워킹 분야에서 Microsoft MVP 상을 수상했습니다. 그는 PowerShell 스크립팅, Microsoft Azure, Office 365, 디렉터리 서비스, 페일오버 클러스터, Hyper-V, System Center 제품을 전문으로 합니다.