Get-AdDomainController - 获取域控制器信息
Get-AdDomainController Active Directory cmdlet 根据指定的域控制器标识符或搜索条件、可发现服务条件获取一个或多个 Active Directory 域控制器。
您可以使用 PowerShell Get-AdDomainController cmdlet 中的 Identity、filter 或 discovery 参数获取域控制器信息。
在本文中,我将解释如何在 Active Directory 中使用 PowerShell Get-AdDomainController 来使用发现来获取当前域中的可用域控制器,获取给定域中的域控制器,使用发现获取当前林中的全局目录。
Get-AdDomainController 语法和参数
Get-AdDomainController 使用filter、discover 或identity 参数获取一个或多个域控制器信息。
句法 :
Get-ADDomainController [[-Identity] ADDomainController]
[-Credential PSCredential] [-Server string]
[-AuthType {Negotiate | Basic}] [CommonParameters]
Get-ADDomainController -Discover [-AvoidSelf] [-DomainName string]
[-ForceDiscover] [-MinimumDirectoryServiceVersion {Windows2000 | Windows2008}]
[-NextClosestSite string] [-Service ADDiscoverableService[]]
[-SiteName string] [-Writable ][-AuthType {Negotiate | Basic}] [CommonParameters]
Get-ADDomainController -Filter string [-Credential PSCredential]
[-Server string] [-AuthType {Negotiate | Basic}] [CommonParameters]参数:
-AuthType - 它指定要使用的身份验证方法。 AuthType 参数接受 Basic(或 1)或 Negotiate(或 0)。它具有协商默认身份验证方法。
使用基本身份验证方法需要 SSL(安全套接字层)连接。
-凭据 PSCredential - 它指定执行 Get-AdDomainController 所需的用户凭据。它默认接受登录用户的凭据。
要使用 Credential 参数,请将用户名用作 User1 或 domain\User1,或者您可以通过使用 Get-Credential cmdlet 创建并使用 PSCredential 对象。
-Identity - 它使用可分辨名称、GUID、安全标识符或 SAMAccountName 指定 Active Directory 域控制器对象
-过滤器 - 它指定一个查询字符串(PowerShell 表达式语言语法)来检索 Active Directory 对象。 过滤器 语法不支持 PowerShell 通配符“其他 *”。
-AvoidSelf - 它指定不返回自身计算机或当前计算机作为域控制器。如果当前计算机不是域控制器,则该参数将被忽略。
-Discover - 获取满足参数指定条件的域控制器。
-DomainName - 要搜索的指定域。 Get-AdDomainController cmdlet 在指定的域名中查找可发现的域控制器。
让我们通过示例了解 PowerShell Get-AdDomainController cmdlet,以使用筛选器、身份或发现搜索条件获取域控制器。
获取当前用户会话中的域控制器
您可以使用 Get-AdDomainController cmdlet 获取当前用户会话中的可用域控制器信息,如下所示
Get-AdDomainController上述PowerShell脚本的输出,返回当前用户会话中可用的域控制器,输出如下
PS C:\Windows\system32> Get-ADDomainController
ComputerObjectDN : CN=ENGG-PRO,OU=Domain Controllers,DC=SHELLPRO,DC=LOCAL
DefaultPartition : DC=SHELLPRO,DC=LOCAL
Domain : SHELLPRO.LOCAL
Enabled : True
Forest : SHELLPRO.LOCAL
HostName : ENGG-PRO.SHELLPRO.LOCAL
InvocationId : c955b45a-090a-42b7-aef9-4490b0d2b5d1
IPv4Address : 1.1.1.1
IPv6Address :
IsGlobalCatalog : True
IsReadOnly : False
LdapPort : 389
Name : ENGG-PRO
NTDSSettingsObjectDN : CN=NTDS Settings,CN=ENGG-PRO,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=SHELLPRO,DC=LOCAL
OperatingSystem : Windows Server 2019 Datacenter
OperatingSystemHotfix :
OperatingSystemServicePack :
OperatingSystemVersion : 10.0 (17763)
OperationMasterRoles : {SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster...}
Partitions : {DC=ForestDnsZones,DC=SHELLPRO,DC=LOCAL, DC=DomainDnsZones,DC=SHELLPRO,DC=LOCAL, CN=Schema,CN=Configuration,DC=SHELLPRO,DC=LOCAL,
CN=Configuration,DC=SHELLPRO,DC=LOCAL...}
ServerObjectDN : CN=ENGG-PRO,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=SHELLPRO,DC=LOCAL
ServerObjectGuid : e6071fc7-2c78-4fcc-ac81-022db678615a
Site : Default-First-Site-Name
SslPort : 636酷提示:如何在 PowerShell 中获取 aduser 员工 ID!
获取给定域中可用的域控制器
您可以使用以下发现获取可用的给定域名中的域控制器
Get-ADDomainController -Discover -Domain "SHELLPRO.LOCAL"上面的命令使用 Get-AdDomainController 来获取由 Domain 参数指定的可用域名并使用 Discover 参数。
获取当前域中可用的域控制器
您可以使用以下发现条件获取可用的当前域中的域控制器信息
Get-AdDomainController -Discover使用 NetBIOS 名称获取域控制器
如果您想使用 NetBIOS 名称获取可用的域控制器,请使用 Get-AdDomainController 和 Identity 参数,如下所示
Get-ADDomainController -Identity "ENGG-PRO"在上面的命令中,NetBIOS 名称为 ENGG-PRO,使用 Identity 参数,Get-AdDomainController 返回可用的域控制器信息。
使用 IP 地址获取域控制器
如果您想使用 IP 地址获取域控制器,请使用 Get-AdDomainController 中的 Identity 参数指定 IP 地址,以返回可用的域控制器信息,如下所示
Get-ADDomainController -Identity "10.1.0.5"酷提示:如何在 PowerShell 中获取用户的广告组列表!
在站点中获取域控制器
您可以使用 Get-AdDomainController Active Directory cmdlet 中的 Site 参数获取指定站点中可用的域控制器信息,如下所示
Get-AdDomainController -Discover -Site "Default-First-Site-Name"在上面的PowerShell脚本中,它返回Site参数指定的站点中可用的域控制器信息,输出如下
PS C:\Windows\system32> Get-ADDomainController -Discover -Site "Default-First-Site-name"
Domain : SHELLPRO.LOCAL
Forest : SHELLPRO.LOCAL
HostName : {ENGG-PRO.SHELLPRO.LOCAL}
IPv4Address : 1.1.1.1
IPv6Address :
Name : ENGG-PRO
Site : Default-First-Site-Name如果您需要使用强制发现在给定站点中获取可用的域控制器,请使用 ForceDiscover 参数运行以下命令
Get-ADDomainController -Discover -Site "Default-First-Site-name" -ForceDiscover获取当前林中的全局目录
您可以使用以下发现在当前林中获取全局目录
Get-ADDomainController -Discover GlobalCatalog酷提示:如何在 PowerShell 中获取多域林中的 aduser!
使用 DNS 主机名获取域控制器
如果您想使用其DNS主机名获得可用的域控制器,请运行以下命令
Get-ADDomainController -Identity "ENGG-PRO.SHELLPRO.LOCAL"在上面的命令中,DNS主机名由Identity参数指定,它返回域控制器信息。
酷提示:如何在 PowerShell 中获取广告计算机操作系统!
获取只读域控制器 (RODC) 列表
要显示只读域控制器列表,请使用以下命令
Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select Name, Domain,IsReadOnly在上述 PowerShell 命令中,Get-AdDomainController Active Directory cmdlet 使用 Filter 参数来获取只读域控制器列表,其中 IsReadOnly 属性等于 $true
它在控制台上显示只读域控制器名称、域、IsReadOnly 的列表。
在名称开头的站点中获取域控制器
如果您想获取 Site 名称以 SHELL* 开头的站点上的域控制器列表,请运行以下命令以显示 DC 列表
Get-ADDomainController -Filter {Site -like 'Default*'} | Select Name, Domain,Site在上面的 PowerShell 脚本中,Get-AdDomainController 活动目录 cmdlet 筛选 DC,其中站点名称以 Default * 开头
它显示站点上的域控制器列表,如下所示
PS C:\Windows\system32> Get-ADDomainController -Filter {Site -like 'Default*'} | Select Name, Domain,Site
Name Domain Site
---- ------ ----
ENGG-PRO SHELLPRO.LOCAL Default-First-Site-Name酷提示:如何在PowerShell中获取计算机名和域名!
结论
我希望上面关于使用 PowerShell Get-AdDomainController 的详细文章以及不同的示例对您有所帮助。
您可以使用 Get-AdDomainController 按特定条件查找域控制器或查找域控制器的可用性。
您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。
