Get-ADDomainController: קבלת מידע על בקרי תחום באמצעות PowerShell
באפשרותך להשתמש ב- cmdlet Get-ADDomainController PowerShell כדי לקבל מידע אודות בקרי התחום ב- Active Directory. cmdlet זה הוא חלק ממודול PowerShell Active Directory ודורש התקנת RSAT (ב- Windows 10 1809 ואילך RSAT מותקן בדרך אחרת).
פקודת Get-ADDomainController
בעת הפעלת Get-ADDomainController ללא פרמטרים כלשהם, ה- cmdlet מציג את המידע אודות בקר התחום הנוכחי (LogonServer) המשמש מחשב זה לאימות (ה- DC נבחר בהתאם לאתר AD טופולוגיית רשתות משנה של IP).
ה- 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
באפשרותך למצוא את DC הזמין הקרוב ביותר עם התפקיד שירותי אינטרנט פעילים של AD:
Get-ADDomainController -ForceDiscover -Discover -Service ADWSבאפשרותך להשתמש בפרמטר Service כדי לאתר את PDC (או תפקיד FSMO אחר) בתחום שלך:
Get-ADDomainController -Discover -Service PrimaryDCאם בקר התחום שלך לא נמצא או לא מגיב, תוכל למצוא את בקר התחום באתר AD הקרוב ביותר (נקבע לפי משקל הקישורים הבין-אתרים):
Get-ADDomainController -Discover -ForceDiscover -NextClosestSiteכדי להציג את רשימת כל בקרי התחום בתחום הנוכחי, הפעל פקודה זו:
Get-ADDomainController -Filter * | ftבאמצעות פקודה זו, באפשרותך לספור את מספר בקרי התחום ב- AD:
Get-ADDomainController -Filter * | Measure-Objectבאפשרותך להציג טבלה נוחה יותר המציגה את כל בקרי התחום, שמות המארחים שלהם, כתובות IP, גרסאות מערכת הפעלה ושמות אתרי AD:
Get-ADDomainController -Filter *| Select Name, ipv4Address, OperatingSystem, site | Sort-Object nameאם ברצונך לקבל מידע על DC מתחום אחר, ציין את השם של כל DC זמין בתחום אחר באמצעות הפרמטר -Server (הדבר אפשרי במקרה של הפעלת קשרי אמון בין הדומיינים).
Get-ADDomainController -Filter * -server dc01.test.com | Select Name, ipv4Address, IsGlobalCatalog, Site
שימוש ב- Get-ADDomainController כדי למצוא בקרי תחום לפי קריטריונים מסוימים
בואו ניקח בחשבון כמה פקודות שימושיות שבהן תוכל להשתמש כדי לקבל את רשימת בקרי התחום באלצהיימר על פי קריטריונים מסוימים.
כדי למצוא בקר תחום לפי כתובת ה- IP שלו:
Get-ADDomainController -Identity "192.168.100.6"כדי למצוא את כל DCs שיש להם DC02 בשמם:
Get-ADDomainController -Filter {name -like "*dc02*"} | Select Name, ipv4Address, OperatingSystem, siteכדי למצוא את כל המת"קים הזמינים באתר הספציפי:
Get-ADDomainController -Discover -ForceDiscover -Site "Site-Name"כדי להציג את רשימת המת"קים באתרים, אילו שמות מתחילים מ-Mun*:
Get-ADDomainController -Filter {site -like "Mun*"} | Select Name, ipv4Address, OperatingSystem, siteכדי להציג את רשימת כל בקרי התחום לקריאה בלבד (RODC):
Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select Name, ipv4Address, OperatingSystem, siteכדי למצוא DCs באתר "רומא" עם תפקיד קטלוג גלובלי זמין:
Get-ADDomainController -Filter {site -eq "Rome" -and IsGlobalCatalog -eq $true} | Select Name, ipv4Address, OperatingSystem, siteקובץ script של PowerShell לבדיקת הזמינות של כל בקרי התחום
קובץ ה- script הבא של PowerShell מאפשר לבדוק את בקרי התחום שלך בזה אחר זה ולבצע את הפעולה הספציפית עבור כל אחד מהם:
$DCs = Get-ADDomainController -Filter *
ForEach($DC in $DCs)
{
do something
}להלן דוגמה של קובץ script פשוט של PowerShell הבודק את הזמינות של יציאת LDAPS (TCP 636) בכל DC בתחום שלך באמצעות cmdlet Test-NetConnection. אם יציאת 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}
}
יש לנו סקריפט פשוט לניטור זמינות כל DCs בתחום שלך.
ישנם גם תרחישים שונים לבדיקת כל DCs בתחום אחד אחד. במאמרים קודמים הראינו כיצד להשתמש ב- cmdlet Get-ADDomainController כדי למצוא את האירוע הספציפי ביומנים בכל בקרי התחום. לדוגמה, כדי למצוא אירועי נעילה של חשבון משתמש, אירועי אימות NTLMv1, אירועים של הוספת משתמש לקבוצת אבטחה של AD וכו'.





