Получение информации о контроллерах домена в лесу


Как быстро получить информацию о контроллерах домена в большом лесу? Ведь Get-AdDomainController ограничивает нас одним доменом?

Конечно, использовать Powershell, пространство .NET и метод DirectoryServices.ActiveDirectory.Forest

В стародавние времена приходилось идти на хитрость и компромисс с командлетами квеста, получая (иногда очень долго) список машин, и фильтруя вывод по нужным свойствам, примерно так:

Get-QADComputer | where { $_.ComputerRole -eq «DomainController»}

Но ведь модуль ActiveDirectory давно написан! Посмотрим, что можно сделать, используя его:

Найдем все Global Catalog в лесу;

[DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().GlobalCatalogs | ft name,OSVersion,Domain

Найдем все контроллеры домена в лесу;

[DirectoryServices.Activedirectory.Forest]::GetCurrentForest().domains | %{$_.domaincontrollers} | ft name,OSVersion,Domain
или
(get-adforest).domains | foreach {Get-ADDomainController -discover -DomainName $_} | foreach {Get-addomaincontroller -filter * } | ft hostname,Site

а еще

[system.directoryservices.activedirectory.Forest]::GetCurrentForest().domains | foreach {$_.DomainControllers} | foreach  {$_.name,$_.sitename}

и

$forest = [system.directoryservices.activedirectory.Forest]::GetCurrentForest() $forest.domains | %{$_.DomainControllers} | %{$_.Name}

Чтобы найти другую информацию, можно воспользоваться конвейером для полученного списка DC и методом Get-Member;

[DirectoryServices.Activedirectory.Forest]::GetCurrentForest().domains | %{$_.domaincontrollers} | Get-Member

Собираем информацию:

$Forest = [DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()

$Domain = [DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()

$MySite = [DirectoryServices.ActiveDirectory.ActiveDirectorySite]::GetComputerSite()

Переменных может быть сколько угодно, используем нужные свойства, чтобы найти серверы глобального каталога:

$Forest.GlobalCatalogs

все контроллеры домена

$Domain.DomainControllers

Разделы приложений в лесу

$forest.ApplicationPartitions

найти хозяев лесных ролей

$forest | select SchemaRoleOwner,NamingRoleOwner

найти хозяев доменных ролей

$domain | select PDCRoleOwner,RidRoleOwner,InfrastructureRoleOwner

найти подсети текущего сайта

$MySite.subnets

найти серверы-плацдармы

$MySite.BridgeheadServers

В напоследок напомню обычные «смотрелки»  свойств для одного домена в лесу:

режим работы леса

Get-ADForest | Select-Object -ExpandProperty ForestMode

режим работы домена Active Directory:

Get-ADDomain | Select-Object -ExpandProperty ForestMode

Находим контроллеры в домене:

Get-ADDomainController

Серверыl Global Catalog найдем, используя фильтр к Get-ADDomainController:

Get-ADDomainController -Filter {IsGlobalCatalog -eq $True}

Read-Only Domain Controllers (RODC) ищем другое свойство:

Get-ADDomainController -Filter {IsReadOnly -eq $True}

И репликацию Active Directory. Найдем соединения, созданные автоматически:

Get-ADReplicationConnection -Filter {AutoGenerated -eq $False}

Сервис AD Replication обычно подстраховывает неопытных администраторов, создавая связи сайтов автоматически, но некоторые из них считают что лучше разбираются в работе репликации, и создают соединения самостоятельно, не доверяя «автомату».
Вот так можно посмотреть сайтлинки,  созданные администратором вручную:

Get-ADReplicationConnection -Filter {AutoGenerated -eq $True}

Удачи, и занимайтесь Windows Server!

 

 

UPD:

Замечательный вариант всего и вся недавно был предложен Андреем, с его позволения оставлю запись тут:

Get-ADDomainController -Filter * | select hostname, site, operatingsystem, OperatingSystemServicePack, @{name=»vendor»;expression={(gwmi Win32_ComputerSystem -ComputerName $_.hostname).Manufacturer}}, @{name=»model»;expression={(gwmi Win32_ComputerSystem -ComputerName $_.hostname).model}}, @{name=»CPU, count»;expression={(gwmi Win32_ComputerSystem -ComputerName $_.hostname).NumberOfLogicalProcessors}}, @{name=»RAM/GB»;expression={[math]::round((gwmi Win32_ComputerSystem -ComputerName $_.hostname).Totalphysicalmemory/1GB)}} | sort hostname | Export-
Csv -NoTypeInformation C:\scripts\dclist.csv

 

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s