当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Get-ADDomainController:通过 PowerShell 获取域控制器信息

作者:精品下载站 日期:2024-12-14 20:10:29 浏览:16 分类:玩电脑

Get-ADDomainController:通过 PowerShell 获取域控制器信息


您可以使用 Get-ADDomainController PowerShell cmdlet 获取有关 Active Directory 中域控制器的信息。此 cmdlet 是 PowerShell Active Directory 模块的一部分,需要安装 RSAT(在 Windows 10 1809 和更高版本上,RSAT 以不同的方式安装)。

获取 ADDomainController Cmdlet

在不带任何参数的情况下运行 Get-ADDomainController 时,cmdlet 将显示有关此计算机用于进行身份验证的当前域控制器 (LogonServer) 的信息(根据 AD 站点和 IP 子网拓扑选择 DC)。

[玩转系统] Get-ADDomainController:通过 PowerShell 获取域控制器信息

该 cmdlet 返回所有字段,其中包含有关 Active Directory 数据库中可用域控制器的信息。

ComputerObjectDN : CN=MunDC01,OU=Domain Controllers,DC=corp,DC=a-d,DC=com
DefaultPartition : DC=corp,DC= a-d,DC=com
Domain : corp.a-d.site
Enabled : True
Forest : a-d.site
HostName : MunDC01.corp.a-d.site
InvocationId : 921234a-2a32-4312-9e12-3b32343ab4ad
IPv4Address : 192.168.1.6
IPv6Address :
IsGlobalCatalog : True
IsReadOnly : False
LdapPort : 389
Name : MunDC01
NTDSSettingsObjectDN : CN=NTDS Settings,CN=MunDC01,CN=Servers,CN=DE,CN=Sites,CN=Configuration,DC=a-d,DC=com
OperatingSystem : Windows Server 2012 R2 Standard
OperatingSystemHotfix :
OperatingSystemServicePack :
OperatingSystemVersion : 6.3 (9600)
OperationMasterRoles : {}
Partitions : {DC=ForestDnsZones,DC=a-d,DC=com, DC=DomainDnsZones,DC=corp,DC=a-d,DC=com, CN=Schema,CN=Configuration,DC=a-d,DC=com...}
ServerObjectDN : CN=MunDC01,CN=Servers,CN=DE,CN=Sites,CN=Configuration,DC=a-d,DC=com
ServerObjectGuid : 8123453-e294-1234-a987-1234535432d6
Site : DE
SslPort : 636

此外,您还可以通过 DCLocator 服务找到您的计算机应所属的域控制器:

Get-ADDomainController -Discover

您可以找到具有活动 AD Web 服务角色的最近的可用 DC:

Get-ADDomainController -ForceDiscover -Discover -Service ADWS

您可以使用 Service 参数查找域中的 PDC(或其他 FSMO 角色):

Get-ADDomainController -Discover -Service PrimaryDC

如果找不到您的域控制器或没有响应,您可以在最近的 AD 站点上找到域控制器(由站点间链接的权重确定):

Get-ADDomainController -Discover -ForceDiscover -NextClosestSite

要显示当前域中所有域控制器的列表,请运行以下命令:

Get-ADDomainController -Filter * | ft

[玩转系统] Get-ADDomainController:通过 PowerShell 获取域控制器信息

使用此命令,您可以统计 AD 中域控制器的数量:

Get-ADDomainController -Filter * | Measure-Object

[玩转系统] Get-ADDomainController:通过 PowerShell 获取域控制器信息

您可以显示一个更方便的表格,其中显示所有域控制器、它们的主机名、IP 地址、操作系统版本和 AD 站点名称:

Get-ADDomainController -Filter *| Select Name, ipv4Address, OperatingSystem, site | Sort-Object name

[玩转系统] Get-ADDomainController:通过 PowerShell 获取域控制器信息

如果您想从另一个域获取有关 DC 的一些信息,请使用 -Server 参数指定另一个域中任何可用 DC 的名称(在启用域之间的信任关系的情况下是可能的)。

Get-ADDomainController -Filter * -server dc01.test.com | Select Name, ipv4Address, IsGlobalCatalog, Site

[玩转系统] Get-ADDomainController:通过 PowerShell 获取域控制器信息

使用 Get-ADDomainController 按特定条件查找域控制器

让我们考虑一些有用的命令,您可以使用这些命令根据特定条件获取 AD 中的域控制器列表。

要通过 IP 地址查找域控制器:

Get-ADDomainController -Identity "192.168.100.6"

要查找名称中包含 DC02 的所有 DC:

Get-ADDomainController -Filter {name -like "*dc02*"} | Select Name, ipv4Address, OperatingSystem, site

要查找特定站点上的所有可用 DC:

Get-ADDomainController -Discover -ForceDiscover -Site "Site-Name"

要显示站点上名称以 Mun* 开头的 DC 列表:

Get-ADDomainController -Filter {site -like "Mun*"} | Select Name, ipv4Address, OperatingSystem, site

显示所有只读域控制器 (RODC) 的列表:

Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select Name, ipv4Address, OperatingSystem, site

要在“罗马”站点上查找启用了全局目录角色的 DC:

Get-ADDomainController -Filter {site -eq "Rome" -and IsGlobalCatalog -eq $true} | Select Name, ipv4Address, OperatingSystem, site

用于检查所有域控制器可用性的 PowerShell 脚本

下一个 PowerShell 脚本允许逐一检查域控制器并为每个域控制器执行特定操作:

$DCs = Get-ADDomainController -Filter *
ForEach($DC in $DCs)
{
do something
}

以下是一个简单的 PowerShell 脚本示例,该脚本使用 Test-NetConnection cmdlet 检查域中每个 DC 上的 LDAPS 端口 (TCP 636) 的可用性。如果 LDAPS 端口不可用,则会出现警告。

$DCs = Get-ADDomainController -Filter * | Select-Object Hostname,Ipv4address,isGlobalCatalog,Site,Forest,OperatingSystem
ForEach($DC in $DCs)
{
$PortResult=Test-NetConnection -ComputerName $DC.Hostname -Port 636 -InformationLevel Quiet
if ($PortResult -ne "$True"){
write-host $DC.Hostname " not available" -BackgroundColor Red -ForegroundColor White
}else {
write-host $DC.Hostname " available" -BackgroundColor Green -ForegroundColor White}
}

[玩转系统] Get-ADDomainController:通过 PowerShell 获取域控制器信息

我们有一个简单的脚本来监控您域中所有 DC 的可用性。

还有不同的场景来一一检查域中的所有DC。在之前的文章中,我们展示了如何使用 Get-ADDomainController cmdlet 在所有域控制器的日志中查找特定事件。例如,查找用户帐户锁定事件、NTLMv1身份验证事件、将用户添加到AD安全组的事件等。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯