בדיקת התקינות והשכפול של בקר תחום של Active Directory


Active Directory הוא שירות אמין, אך מורכב וקריטי, ויכולת ההפעלה של הרשת הארגונית כולה תלויה בו. מנהל מערכת צריך לבדוק כל הזמן אם Active Directory פועל כראוי. במאמר זה, נעבור על השיטות העיקריות כיצד לבדוק ולאבחן את התקינות של תחום Active Directory, בקרי תחום ושכפול.

כיצד לבדוק את תקינות בקר תחום AD באמצעות Dcdiag?

Dcdiag הוא כלי מוכלל בסיסי לבדיקת תקינות בקר תחום של Active Directory. כדי לבדוק במהירות את המצב של בקר תחום AD, השתמש בפקודה הבאה:

dcdiag /s:DC01

הפקודה מפעילה בדיקות שונות מול בקר התחום שצוין ומחזירה מצב עבור כל בדיקה (Passed/Failed).

בדיקות אופייניות:

  • קישוריות - בודק אם ה- DC רשום ב- DNS, יוצר חיבורי LDAP ו- RPC לבדיקה;

  • פרסום - בודק תפקידים ושירותים המתפרסמים ב-DC;

  • FRSEvent - בודק אם יש שגיאות של שירות שכפול קבצים (שגיאות שכפול SYSVOL);

  • FSMOCheck - בודק אם DC יכול להתחבר לשרת KDC, PDC וקטלוג גלובלי;

  • MachineAccount — בודק אם חשבון DC רשום ב-AD כראוי ואם יחסי האמון בתחום נכונים;

  • NetLogons - בודק את הרשאות הכניסה כדי לאפשר שכפול להמשיך;

  • שכפולים - בודק את מצב השכפול בין בקרי הדומיין ואם יש שגיאות;

  • KnowsOfRoleHolders - בודק את הזמינות של בקרי התחום עם תפקידי FSMO;

  • שירותים - בודק אם השירותים בבקרי התחום פועלים;

  • Systemlog - בודק אם יש שגיאות ביומני DC;

  • וכו.

תוכל למצוא תיאור מלא של כל בדיקות dcdiag הזמינות כאן.

מלבד בדיקות ברירת מחדל, באפשרותך להפעיל בדיקות נוספות של בקר תחום:

  • טופולוגיה - בודקת אם KCC יצרה טופולוגיה מלאה עבור כל DCs

  • CheckSecurityError

  • CutoffServers - מוצא DC שאינו משוכפל מכיוון שהשותף שלו אינו זמין

  • DNS - 6 בדיקות DNS זמינות (

    /DnsBasic

    ,

    /DnsForwarders

    ,

    /DnsDelegation

    ,

    /DnsDymanicUpdate

    ,

    /DnsRecordRegistration

    ,

    /DnsResolveExtName

    )

  • OutboundSecureChannels

  • VerifyReplicas - בודק אם מחיצות היישום משוכפלות כראוי

  • VerifyEnterpriseReferences

לדוגמה, כדי לבדוק אם DNS פועל כראוי בכל בקרי התחום, השתמש בפקודה הבאה:

dcdiag.exe /s:DC01 /test:dns /e /v

התוצאה תהיה טבלת סיכום המציגה תוצאות בדיקה על האופן שבו DNS פותר שמות בכל DCs (אם זה בסדר, תראה Pass בכל תא). אם אתה רואה את האפשרות נכשל, עליך להפעיל בדיקה זו מול ה-DC שצוין:

dcdiag.exe /s:DC01 /test:dns /DnsForwarders /v

כדי לקבל מידע נוסף מתוצאות הבדיקה של בקר תחום ולשמור אותו בקובץ טקסט, השתמש בפקודה זו:

dcdiag /s:DC01 /v >> c:\ps\dc01_dcdiag_test.log

הפקודה הבאה של PowerShell מציגה רק מידע סיכום על בדיקות dcdiag שבוצעו:

Dcdiag /s:DC01 | select-string -pattern '\. (.*) \b(passed|failed)\b test (.*)'

כדי לקבל את המצב של כל בקרי התחום, השתמש ב:

dcdiag.exe /s:a-d.site /a

אם ברצונך להציג רק את השגיאות שמצאת, השתמש באפשרות /q:

dcdiag.exe /s:dc01 /q

בדוגמה שלי, הכלי זיהה כמה שגיאות שכפול:

There are warning or error events within the last 24 hours after the SYSVOL has been shared. Failing SYSVOL replication problems may cause Group Policy problems.
......................... DC01 failed test DFSREvent

כדי לגרום ל- dcdiag לתקן באופן אוטומטי את שגיאות השמות הראשיים של השירות עבור חשבון DC, השתמש באפשרות /fix:

dcdiag.exe /s:dc01 /fix

בדיקת שגיאות שכפול של Active Directory בין DCs

כלי repadmin המוכלל משמש לבדיקת שכפול בתחום Active Directory.

הנה הפקודה הבסיסית לבדיקת שכפול AD:

repadmin /replsum

הכלי החזיר את מצב השכפול הנוכחי בין כל DCs. באופן אידיאלי, ערך הדלתא הגדול ביותר צריך להיות פחות משעה אחת (תלוי בטופולוגיית AD ובהגדרות תדירות השכפול הבין-אתרים), ומספר השגיאות=0. בדוגמה שלי, אתם יכולים לראות שאחד השכפולים האחרונים לקח 14 יום, אבל עכשיו זה בסדר.

כדי לבדוק שכפול עבור כל DCs בתחום:

repadmin /replsum *

כדי לבדוק שכפול בין אתרים:

repadmin /showism

כדי להציג את טופולוגיית השכפול והשגיאות (אם קיימות), הפעל פקודה זו:

repadmin /showrepl

הפקודה תבדוק את DCs ותחזיר את השעה והתאריך של השכפול המוצלח האחרון עבור כל מחיצת ספרייה (

last attempt xxxx was successful

).

כדי להציג מידע שכפול נוסף, השתמש בפקודה זו:

repadmin /showrepl *

כדי להפעיל שכפול סיסמה מבקר תחום הניתן לכתיבה לבקר תחום לקריאה בלבד (RODC), נעשה שימוש באפשרות /rodcpwdrepl.

האפשרות /replicate מתחילה את השכפול של מחיצת הספרייה שצוינה ל- DC ספציפי באופן מיידי.

כדי לסנכרן DC שצוין עם כל שותפי השכפול שלו, השתמש בפקודה הבאה:

replmon /syncall <nameDC>

כדי להציג את תור השכפול:

repadmin /queue

באופן אידיאלי, תור השכפול צריך להיות ריק.

בדוק מתי נוצר הגיבוי האחרון של בקר התחום הנוכחי:

Repadmin /showbackup *

באפשרותך גם לבדוק את מצב השכפול באמצעות PowerShell. לדוגמה, הפקודה הבאה תציג את כל שגיאות השכפול שהיא מוצאת בטבלה Out-GridView:

Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,ConsecutiveReplicationFailures,LastReplicationSuccess,LastRepicationResult | Out-GridView

העליתי קובץ script של PowerShell שבו אני משתמש לעתים קרובות כדי לבדוק את מצב השכפול ב-AD למאגר GitHub שלי. קובץ ה- Script יוצר קובץ HTML ויכול לשלוח אותו בדואר אלקטרוני באמצעות ה- cmdlet Send-MailMessage.

https://github.com/maxbakhub/winposh/blob/main/ADHealthCheck.ps1

באפשרותך גם לבדוק את מצב השירותים הבסיסיים של ADDS בבקר תחום באמצעות ה- cmdlet Get-Service:

  • שירותי תחום של Active Directory (

    ntds

    )

  • שירותי אינטרנט של Active Directory (

    adws

    ) - כל רכיבי ה- cmdlet ממודול AD PowerShell מתחברים לשירות זה

  • DNS (

    dnscache

    ו

    dns

    )

  • מרכז הפצת המפתח של Kerberos (

    kdc

    )

  • שירות הזמן של Windows (

    w32time

    )

  • נטלוגון (

    netlogon

    )

Get-Service -name ntds,adws,dns,dnscache,kdc,w32time,netlogon -ComputerName dc01

לכן, במאמר זה, הצגנו כלים בסיסיים, פקודות וקבצי Script של PowerShell שבהם באפשרותך להשתמש כדי לאבחן את התקינות של תחום Active Directory שלך. באפשרותך להשתמש בהם בכל הגירסאות הנתמכות של Windows Server, כולל בקרי התחום הפועלים במצב Server Core.