FULL ARTICLE ACTIVE DIRECTORY מאמר זה מכיל מידע חיוני על Active Directory דינאמי ולהתעדכן בכל תקופת זמן., המאמר ימשיך להיות אני ממליץ להדפיס את המאמר כדי שתוכלו ללמוד ולתרגל בעצמכם. Meir Peleg WWW.PELEGIT.CO.IL
תוכן עניינים Content Table Of Active Directory Data Files... 2 Functional level... 3 LDAP (Lightweight Directory Access Protocol)... 5 Distinguished Names... 6 Sysvol Folder... 7 Global Catalog... 8 Kerberos... 9 Groups... 11 FSMO (Flexible Single Master Operations)... 13 How to Transfer FSMO Role?... 15 Tombstone... 17 Authoritative restore and Non Authoritative restore... 19 Ports... 20 Demote Domain Controller in WINSVR 2012 using PowerShell... 21 USN (Update Sequence Number)... 23 KCC (Knowledge Consistency Checker)... 24 Get User to Find Inactive AD Users... 25 Saved Queries... 27 Multiple Users in Active Directory... 30 Migrate Active Directory 2008r2 to 2012... 35 System Administrator Commands... 56 1
Active Directory Data Files כאשר אנחנו יוצרים Domain Controller בעזרת פקודת " dcpromo " או באמצעות Server Manager נוצרים לנו קבצים מאוד חשובים של הסביבה שלנו: Ntds.dit נתיב : דיפולטי %SystemRoot%\NTDS\Ntds.dit אחד הקבצים אם לא ה... ( כפי שהישראלים נוהגים להגיד ) הכי חשובים שיש לנו שרת, Domain Controller כלומר הקובץ הזה מאחסן כל כל ה Database של DC להעביר אותו, לנסות לערוך., מאוד חשוב שתבינו שאסור לנו בשום פנים ואופן למחוק אותו, הקובץ מכיל מספר: Partitions Schema information: כל ה -attributes ה ו ה class -של האובייקטים ב - ADשלנו, ה - partition הזה מתעדכן כמובן עם Schema Role Domain information: ה Domain information -מכיל מידע של האובייקטים ובעזרתו מתבצע הDCים הרפליקציה לשאר ב Global catalog המידע מתרפלק בין השרתים ב. Forest Configuration information: כל הגדרות של ה FOREST -ו TREEשלנו נשמרות ב partition -הזה, הוא עובד מול ה role של Domain Naming בנוסף מכיל את הגדרות.Tombstone של Edb.chk: 2
הקובץ Edb.chk הוא קובץ Checkpoint שאחראי במידה וקרה משהו חריג באקטיב דירקטורי אז הקובץ מציין את הנקודה בקובץ היומן שממנו מאגר המידע צריך להתחיל את ההתאוששות. כל transaction ntds.dit ואז לתוך LOG לרשום זאת ב בקבצי ה Edb.chkמחויב שמתבצעת או לא ה Edb.log: כל Transaction שאנחנו מבצעים באקטיב דירקטורי נרשמים בקובץ הזה. כמובן שהכול מתעדכן עם הקובץ DB שלנו, Ntds.dit במקרה של קריסה. הקובץ הזה עוזר לנו לבצע שחזור נתונים הקובץ הזה יכול לגדול על MB 10 ולא יותר, ברגע שהקובץ מגיע למצב שהוא מתמלא יותר מ : Edbxxxxx.log כלומר LOG באופן אוטומטי יפתח לנו ברצף עוד קבצי MB 10.המערכת יוצרת שני קבצים : AD במידה ויש חוסר מקום בדיסק של ה להגיע עד MB 10. Res2.logשיכולים Res1.logו הנתונים ירשמו לקבצים האלה, מה שמאפשר לנו בעצם שרידות ולא קריסה. Functional level 3
כאשר אנחנו מקימים דומיין אנחנו צריכים לבחור באיזה Functional Level לעבוד, לא חובה תמיד לבצע Raise ל FL אך ורק כאשר יש צורך בסביבה שלכם, כך תקבלו תמיכה ב - Features חדשים בסביבתכם.. חשוב לזכור! אין לחזור אחורה לאחר שביצעתם Raise יש שאלה שמראיינים מאוד אוהבים לשאול בראיונות עבודה : יש לך DC 3 שה FL שלה הוא WINDOWS SERVER 2003 ויש לך אפליקציה חדשה שצריכה רוץ על מערכת הפעלה Windows 2000 מה התכנון? מה עושים? חברים, פשוט מאוד, כלום! זה לא קשור בכלל לסביבת ה- AD שלנו, אסור לכם להתבלבל ה- FL נועד עבור הסביבת ה- AD שלנו, ברגע שכל ה- DCים שלנו יהיו FL 2003 נקבל פיצרים חדשים ועדכנים יותר, כנ"ל לגבי Server 2008R2/Server 2012 יכול להיות מצב שיש לכם DC שהוא הברווז המכוער והוא רץ על Windows Server 2003 והשאר 2008R2 זה מצב לא תקין שיכול לגרום לתקלות לדוגמא אם הגדרנו Policy ב 2008R2 DC ומשתמש מבצע לוגין Domain Controller 2003 הוא לא יקבל את הפוליסי. מה שאני מציע לכם לעשות במצב שיש לכם DC אחד של Server 2003 הוא להקים DC חדש עם מערכת הפעלה דומה לשאר הDCים שלכם ולהשבית את ה 2003 לצמיתות כמובן לפני זה לשים לב איפה זה יושב ב- FSMO שלכם, הסיבה שאני ממליץ לכם להשבית אותו היא בגלל שאין את האפשרות לבצע RAISE מ Server 2003 ל 2008R2 המערכת לא תומכת באפשרות זו. אחד הבדלים המשמעותיים בין 2008R2 ל 2003 הוא ה policy אפשרות לפוליסי: של Firewall מה שיש ל - 2008R2. בGPO לדוגמא אין ב 2003 אין שינויים משמעותיים ברמת ה- Forest ב- 2012 Server רוב התכונות זמינות בדיוק כמו NTLM, שינויים מינורים,לדוגמא תוספת של אותנטיקציה של ישנם,ברמת ה- Domain 2008R2 2 תוספות של פוליסי בGPO - ששייכים, KDC חידוש Ticket ליוזר מעבר ל 4 שעות ועוד מספר שינויים קטנים שניתן לקרוא עליהם. 4
LDAP (Lightweight Directory Access Protocol) תכירו טיפה את הליבה של ה - Active Directory הרבה אנשים פותחים אובייקטים ביום יום ומשתמשים ב AD ולא יודעים איך זה נראה ואיך זה בנוי ברמת LDAP ואיך זה מופיע ב ADSI.EDIT- אם תפתחו CMD בשרת AD שלכם תוכלו לגלות את מיקומם של כל האובייקטים ב- AD שלכם ע"י פקודות " Dsquery " LDAP Dsquery user domainroot samid username computer :Dsquery computer domainroot -name <name >Computer> dsquery server -o rdn - Forest : Forest חיפוש בכל ה DC- שיש ב כמובן שיש עוד עשרות פקודות שניתן לקבל אינפורמציה על הארגון שלנו במיוחד עם פקודה, הצגתי לכם 2-3 שבאמת חשוב להכיר וללמוד בעל פה. Dsquery במה זה מעויל? שחזור אובייקטים, Authoritative restore,יש המון סקריפטים שאנחנו מריצים מסוג batch file ו PowerShell שלפעמים עלינו לציין את כל ה- DN. : לצורך העניין, לדוגמא, אני יציג לפניכם סקריפט לדוגמא שאני השתמשתי DN set b=dsmove %%A -newparent( OU=Users,OU=Netsystem_Computers,DC=org,DC=il) echo Do Not Touch The Computer While The Script Is Runnig Thanks For /F "eol=." %%A in (C:\res.txt) do b%( Users OU הסקריפט יודע לקחת את כל המשתמשים מ - של ולבצע בהם את הפעולה שביקשתי,לא נכנס יותר מידי לעומק הסקריפט כי זה לא המטרה. 5
DC=domainComponent Distinguished Names CN=commonName OU=organizationalUnitName O=organizationName STREET=streetAddress L=localityName ST=stateOrProvinceName UID=userid 6
Sysvol Folder : מיקום התיקייה ב Default -Policies - (Default location1. )SystemRoot%\Sysvol\Sysvol\domain_name\Policies% -Scripts - (Default lcation.2 %SystemRoot%\Sysvol\Sysvol\domain_name\Scripts) מה התיקייה הזו בעצם מכילה? Active directory תיקיית SYSVOL מכילה רכיבים מאוד חשובים של ה התיקייה NTFS מרופלקת ב Volume ב לכל הדומיין קונטרלרים שלנו, השימוש העיקרי של התיקייה היא להכיל קבצי GPO כלומר Policies( )Scripts and. - הזכרתי שהתיקייה מתרפלקת בין כל ה Domain controllers שלנו הרפלקציה DC Service - מתבצעת ע"י FRS ראשי תיבות Service" "File Replication רץ כ בכל ודואג שכל שינוי שאנחנו מבצעים בתיקיה או שינוי בהגדרות GPO התרפלק בשרת שלו Forest.( הריפלוק מתבצע ברמת Domain ולא ( השכפול כמובן נועד להבטיח שברגע DC שקבענו Policy על אחד הוא כמובן יכול על האחרים. Policy ואם נכנס ל- DC אחר נבדוק את ה ונקבל את אותם הגדרות שהגדרנו בDC הקודם. 7
Global Catalog Active Directory - Global Catalog תפקידו של ה - הוא להכיל את כל האובייקטים של ה Global Catalog - בForest, בעזרת ה השאילתות שלנו מתבצעות בצורה מהירה יותר. וכמובן ככל שיש לנו יותר Global Catalog DCים עם השאליתות יבוצעו בצורה GC - מהירה יותר ובנוסף מבלי להשים לב אנחנו יוצרים סוג של Load Balance,בתכלס נהיה בין שני שרתי ה מציאותים אני לא רואה סיבה לא לאפשר Global Catalog בסביבה אצלכם בארגון. Global V - כאשר אנחנו מקימים DC חדש אם תשימו לב בתהליך התקנה אפשרות ה של נמצא במצב ו וזה המצב ה דיפולטי, אפשרות זו לא ניתנה להורדה Gray out Catalog DC כאשר יש לנו DC 1, במידה ונרצה לצרף עוד חדש לדומיין נוכל לוותר על האופציה Catalog. Global. של Login היא קבוצת, Security כאשר קליינט בקבוצה זו מבצע - Universal Groups )Authentication( Global Catalog authenticating domain controller" ה - " יוצר קשר עם ה- במידה GC Site - וה- Global Catalog לא זמין ב למרות החוסר היענות של ה- אפשרות הלוגין Cache של היוזר כן תצליח בזכות ה שהתחנה שמרה לעצמה מהלוגין האחרון, במידה ו היוזר לא ביצ ע לוגין אף פעם ) גם לא פעם קודמת ( היוזר לא יצליח להתחבר לדומיין אלא רק באופן לוקאלי. : פורטים בהם עובד ה Global Catalog Port (TCP/UDP): 3268 Port (TCP/UDP): 3269 - Global catalog over SSL? אז איך מאפשרים את ה Global Catalog Server Manage יש לפתוח את ה - Active directory sites and services יש לבחור ב - Active Directory Site and Services- יש להרחיב את תייקית Site בתוך ה ברגע שסיימתם להרחיב את התיקיות > יש לגשת ל Settings- NTDS ולהקליק קליק ימני ולבחור באפשרות Properties Global catalog V יש לגשת ללשונית General ולסמן ב את אפשרות ולבסוף ללחוץ.Ok 8
Kerberos כל הנושא של פרוטוקול האותנטיקציה ושל Kerberos הוא מאוד מורכב, למרות זאת אני אנסה לסכם לכם את הנושא בקצרה ובצורה ומובנת. קודם כל יש להבין : מנגנון אוטנתיקציה והצפנה של התחנות והשרתים אל ומול שירותי הרשת שלנו. DC שלנו ' Key Distribution Center ישנו Service ששמו שרץ בשרתי ה- KDC מורכב משני תתי שרתים : : Authentication Server אחראי על האימות שהתחנה מבקשת כאשר הוא בודק ורואה שהבקשה תקינה הוא מייצר לו Ticket Granting Ticket מול הKDC. ובמבצע אימות TGT היא פונה ל TGS שייצר עבורה TGT לאחר שהתחנה קיבלה : Ticket Granting Server ומאשר שביצעה בהצלחה את האימות מול הKDC. ה- מגדיר סוגי חשבונות UPN :מזהה ייחודי של המשתמש 2 Kerberos account( :SPN (User מזהה ייחודי של Services שרץ על שרת ומסיים ונדרש תהליך )Kerberos( ניתן לראות באיור את התהליך 9
10
Groups Distribution VS Security Group בהרבה ראיונות עבודה אוהבים לשאול מה ההבדל בין קבוצה Security Group Distribution לקבוצת Distribution Group? התשובה מאוד פשוטה קבוצת נועדה עבור הפצת מיילים כלומר אתם מקימים קבוצה בשם Helpdesk ושם אתה מוסיפים את כל המשתמשים ששייכים לקבוצה הזו וברגע שתרצו לשלוח מייל תוכלו פשוט. לשלוח הודעה גלובאלית נטו לקבוצת Helpdesk SID Security חשוב לציין לא ניתן להחיל הרשאות על Distribution group מה שרין ובנוסף לקבוצת יש לקבוצת. Distribution. Distribution חשוב, חשוב וחשוב! במידה ושינתם קבוצה מ Security group ימחקו! ל כל הרשאות Scopes: Domain Local group: קבוצה מסוג זה זו קבוצה שלא יכולה לצאת מהדומיין, ההמלצה להשתמש בה היא על משאבים (שרתי קבצים, מדפסות, וכו'..) קבוצה זו מכילה את היוזרים בדומיין ומאפשרת לקבוע להם הרשאות אך ורק מאותו דומיין. הקבוצה הזו מחזיקה משתמשים,וניתן לתת לקבוצה הרשאות,הבסיס של הקבוצה נועדה Global Group:. Local לקבץ לתוך קבוצות Local והקבוצה הזו יכולה להיות במספר של קבוצות.Forest Local קבוצת Global יכולה להיות בתוך קבוצת בדומיין אחר באותו. Distribution Universal הקבוצה הזו יכולה להיות חלק מקבוצות אחרות : ו Universal Group: 11
הקבוצה הזו יכולה לנוע בכל הForest ויכולה לקבל הרשאות מדומיין לדומיין. הקבוצה יכולה להכיל קבוצות אחרות, בקיצור עם הקבוצה הזו ניתן לבצע הכל ב Forest אבל אם אני משתמש רק בקבוצה הזו אז אני מבטל לי את ה Global ובגלל זה ו Local לא כולם משתמשים בקבוצה הזו באירגונים. מה שכן במידה ויש לך צוות טכנאים שנע ממקום למקום ב Forest כן כדאי שלכם אז להשתמש בזה. 12
FSMO (Flexible Single Master Operations) Schema Master: AD Attributes אחראי על כל ה Classים ו ה- ב- הסכמה הוא פר הפורסט במידה והוא נופל, הכל עובד כרגיל הבעיה העיקרית שלא נוכל לבצע הרחבה בסכמה. RUN על מנת לראות את ה- SCHEMA ולהיכנס עליו ב- MMC יש לפתוח ולהקליד: regsvr32 schmmgmt.dll Infrastructure: אחראי על הקישוריות בין 2 דומיינים כלומר במידה ויש לך דומיין אחד הROLE הזה לא חושב 2 Trust Adatum.com Contoso.com כל כך.לצורך העניין יש לך 2 דומיינים ו ויש בין הדומיינים אז ה role הזה יודע לקשר בין שני הדומיינים, הROLE מאפשר להכיר את האובייקטים בשני הדומיינים השונים במידה והוא נופל בדומיין בודד שום דבר לא קורה אבל במידה ויש לך 2 דומיינים רוב הסיכויים שלא תוכל לתת הרשאות לדומיין המקביל והדומיין המקביל לא יכיר את האובייקטים. פיר דומיין Domain naming: ה Role הזה גם פר הפורסט אחראי על הסדר והיררכיה של הפורסט עם זאת הוא אחראי על הוספה והסרה של דומיינים ל child ) = Forest וכו..) במידה והROLE נופל לא תוכל להוסיף עוד דומיינים ל.Forest Rid master: אחראי על חלוקת SID לאובייקטים בAD במידה והוא נופל תוכל להמשיך לפתוח אובייקטים עד שתקבל שגיאה שה POOL שלך נגמר ולא תוכל יותר לפתוח אובייקטים. SID 12 S מבנה ה SID בנוי מ עד שהוא בעצם מזהה,SID החלק השני של ה מורכב מאותיות USER יחודיות ב,DOMAIN והחלק האחרון זה המזהה של ה בעצמו, ברגע שמחקתם יוזר SID User name ב AD ובעבר מישהו הקצה הרשאות ליוזר תוכלו לראות שבמקום יופיע ה ואז בעצם תוכלו לדעת שזה ה SID של המשתמש שנמחק. ( פולים ) של SID 500 BLOCK ה rid master מחזיק וברגע שיגמר לשרת אחד נוכל לפנות לשרת אחר ובתקופה קצרה השרת יתחיל ליצור לו עוד SIDים 13
פר דומיין PDC emulator: אחד ה Role החשובים ביותר אחראי על סנכרון שעונים בין כל הDCים, אחראי על עדכון החלפת סיסמא תוך דק ( לא מדוייק ) הוא מעדכן את שאר הDC, אחראי על נעילות של 5 DOMAIN שלנו, - חשבונות בAD, במידה והוא נופל המצב שלנו לא טוב ויתחילו בעיות ב בעיות מסוג סנכרון שעונים רפליקציה,לא יתבצע Policy כהלכה, והחזקת מצב עדכני של.Namespace 14
How to Transfer FSMO Role? FSMO TRANSFER FSMO בעזרת פקודת Ntdsutil אחר. ניתן לבצע את פעולת העברת ל- DC לפני שאני יושבים: מתחיל להסביר לכם מה לעשות נוכל בעזרת הפקודה הבאה לגלות איפה הFSMO Netdom query fsmo יש לבצע את התהליך הבא : roles נתחבר לאחד השרתים שלנו ונריץ NTDSUTIL "Maintenance" לאחר מכן נקליד ונכנס למצב שנקרא ונקבל את החלון הבא : כפי שרואים בתמונה אנו צריכים לקליד Connections ואז להתחבר לשרת התקול.. Maintenance לאחר שחיבור הצליח נצא ממצב התחברות בעזרת האות Q ושוב נחזור למצב ומה שנותר לנו לעשות הוא להקליד את שם ההתפקיד ולבצע פעולת Transfer ה- ROLES ולהעביר את כל כמובן יש ללחוץ על : YES 15
: לצורך הדוגמא העברתי רק את הPDC וניתן לראות בתמונה הבא ש- PDC עבר ל 2 DC שימו לב שהשימוש בפקודת NTDSUTIL אתם עושים ובזהירות יכולה לגרום לנזק בסביבת הAD שלכם, יש לדעת מה 16
Tombstone "מצבה" - פיצ'ר זה מאפשר לקבוע כמה זמן נשמור מחיקת שהציל הרבה מנהלי רשתות. אובייקטים מ הAD שלנו, פיצ'ר מעולה.Configuration Partition הקופניגורציה של ה" Tombstone " נשמרת תחת חשוב להבין את הבדלי הזמנים בין הגרסאות : Windows Server 2003 =60 Days Window Server 2008 & Windows Server 2012 = 180 days לידיעתכם כאשר נמחק לנו אובייקט מ- AD הוא לא באמת נמחק לצמיתות,ה- AD משנה attribute ספציפי שנקרא " isdeleted " ל- TRUE ומזיז את האובייקט ל- Container מיוחד בשם Tombstone MMC על מנת לשנות את ה - LifeTime של ה - Tombstone יש לפתוח Run, Adsi.edit ולאכן מכן תנתבו את עצמכם ל Attribute הבא על פי: לרשום ולהוסיף "cn=directory Service,cn=Windows NT,cn=Services,cn=Configuration,dc=tombstoneLiftetime" 17
ניתן לשנות את ה lifetime- גם בעזרת קובץ יש לפתוח Notepad ולהקליד: LDIF. dn:netsystem,dc-org,dc=il cn=directory Service,cn=Windows NT,cn=Services,cn=Configuration, changetype: modify Replace: tombstonelifetime tombstonelifetime: SET TIM : CMD לאחר זאת יש לשמור את הקובץ כ- "TombstoneLifeTime" ולהריץ אותו באמצעות (tombstonelifetime.ldf) נתיב הקובץ Ldifde I f 18
Authoritative restore and Non Authoritative restore 19
Ports : להלן רשימת הפורטים שצריך לאפשר על מנת להבטיח AD תקינה 20
Demote Domain Controller in WINSVR 2012 using PowerShell:,? 2012 באמצעות PowerShell Domain Controller כיצד לבצע Demote ל לפני כן : יש לקחת בחשבון כאשר אתה מבצעים את הפעלה הזאת שהDC תפקיד. FSMO שלכם לא מחזיק שום יש לפתוח חלון PowerShell ולהקליד : import-moudle activedirectory ולאחר מכן יש להקליד : Uninstall -ADDSDomainController -ForceRemoval DemoteOperationMasterRole הוא דורש מאיתנו לבצע אותנטיקציה ולאחר מכן אנו נשאלים האם אנחנו בטוחים שאנחנו רוצים ) Restart שווה ( Y את התהליך, יש לאשר ב Restart ובתמונה השלישית אתם תבחינו שהפעולה הסתיימה בהצלחה ואתם נדרשים לבצע 21
22
USN (Update Sequence Number) forest אני רוצה להסביר לכם בקצרה איך עובד נושא & עניין הרפלקציה בתוך ובין הDCים. ה- Active Directory ישנם 4 סוגי טכנולוגיות שבהם עובד, ברשותכם מספר מילים : יש לנו את ה- state base שבעצם כל DC עוקב ואחראי על מצב הרפלקציה ודואג לכך שלא יקבל עדכונים שכבר קיימים אצלו, יש גם - Multimaster שדואג שכל DC יקבל עדכונים ובנוסף יש לנו את PULL שדואג לכך שכל DC ימשוך את העדכונים ואחרון חביב הוא Store and Forward שאומר בעצם שאין לנו DC ספציפי שאחראי לרפלקציה כך שכל DC מקושר ל DC לשאר הDCים וכך בעצם אנו יוצרים סוג של טבעת של רפלקציה,בין כל DCים. לכל אובייקט ב Active Directory יש ) USN Update Sequence Number ( או בצורה מדויקת יותר פרמטר שנקרא usnchanged" " במידה ובוצע שינוי באובייקט המספר גרסה ) incremented )משתנה לכל אובייקט יש "חותמת" עם מספר גרסה, המספר גרסה הוא זמני על לעדכון או שינוי ערך כל שהוא באובייקט..יש מספר גרסה שונה לכל. Domain Controller ה- ntds.dit יודע להתרפק רק בשינויים שבוצעו, הקובץ בעצמו לא משוכפל או מעותק לשאר הDCים, אני יפרט : ברגע ששינתם ערך של attribute ליוזר, ה USN של היוזר משתנה למספר אחר ולבסוף הערך הזה נרשם ב. ntds.dit והמשימה הבאה היא בעצם עדכון שאר הDCים על שינוי שביצענו ב- attribute של היוזר, ה- DC1 פונה ל DNS ומבקש את הכתובות IP של שאר הDC ים ואומר להם שיש להם עדכון למשוך שאר השרתים מושכים את העדכון אך לפני כן מבצעים אימות באמצעות ה - Kerberose ולאחר מכן מתעדכן באמצעות Services שקיימים דוגמא בDCים( RPC או SMTP בין Sites )רק ה מספר Version של היוזר מתעדכן תוכלו להשתמש בפקודת Repadmin בסביבה שלכם על מנת לקבל אינדיקציה על כל העניין של הרפלקציה 23
KCC (Knowledge Consistency Checker) תהליך מובנה שרץ על כל, Domain Controllers התהליך יוצר שכפול של כל הטופלוגיה ב domain גם באופן דינאמי מתאים את הטופולוגיה בכדי להכיל מידע ב KCC- ה Forest controllers חדשים.בתוך הsite החיבורים בין domain controllers תמיד מסודרים במעגל דו כיווני. ב - Default הרפליקציה מתבצעת כל 15 דקות ( 900 שניות ) 24
Get User to Find Inactive AD Users אני לא יודע אם רובכם מכירים\יודעים אבל קיים Attribute בשם LastLogon באובייקט מסוג Computer וגם באובייקט מסוג User ה, Attribute- הזה מתאר לנו את התאריך העדכני שהמשתמש ביצע Login לדומיין,לי באופן אישי ה Attribute הזה עזר לי בהמון מצבים אם זה Troubleshooting או ניקיון. AD אני אתאר לכם מצב שבו יהיה נכון להשתמש. היום לצערנו לא כל הארגונים עובדים בצורה מסודרת עם ה -Active Directory אני באופן אישי יצא לי לראות ארגון של 50 איש מחזיק Users objects 300 ו objects 250Computer s שבפועל ישנם 50 מחשבים ו - 50 יוזרים,מה אתם הייתם עושים? אני מקווה שעושים סדר, איך? בדיוק בצורה הבאה: יש לפתוח PowerShell ולהקליד: לאחר שטענו את ה- Module נבצע Query ישירות ל- Directory Active Import -Module ActiveDirectory Get-ADUser -Filter * -Properties * -SearchBase "dc=pelegit,dc=com" select samaccountname,lastlogondate ב-סקריפט ה-ספיציפי הזה, Lastlogon -עכשיו תשימו לב בצד ימין קיבלתי תוצאות שהיא ה,ביקשתי לקבל את התחברות האחרונה שביצעו המשתמשים בדומיין עכשיו לצורך העניין הראשון (שורה ראשונה ( ביצע לוגין בתאריך, 31-03-2012 סביר להניח שמדובר ב User- לא פעיל יותר ואפשר למחוק אותו,וכך לאט לאט אנחנו עושים סדר ב- Domain PowerShell.Controller היא השיטה הטובה ביותר לקבל אינפורציה רחבה יותר על משתמשי הארגון, זה יחסוך לכם המון עבודה בטח שמדובר ב עשרות, מאות, אלפים PowerShell., עכשיו שימו לב כיצד ניתן לקבל את אותו נתון גם דרך ה AD יש לפתוח ה Active Directory וללחוץ על View: 25
Attribute Properties - לאחר מכן נבצע קליק ימני על User ונבחר ב ונלחץ על לשונית Editor: לפניכם כל ה נחפש באמצעות הקלדה על האות את ה Attribute הנקרא L attributes - "LastLogon" 26
Saved Queries Saved ארצה להסביר לכם כיצד לרכז קבצות משתמשים או כל סוג אובייקט אחר על ידי שימוש ב, בדוגמא שאציין לפניכם תוכלו לראות שהמטרה שלי היא לקבל את רשימת היוזרים Quires Disabled Users שמוגדרים כ יש להיכנס ל : Active Directory קליק ימני על : Saved Queries < New < Query 27
שזה אומר איפה Query root יש לכתוב שם ולאחר מכן לבחור - String לפני שנבחר את ה Define Query נרצה לבצע את השאילתה אני בחרתי בכל הדומיין,ולבסוף יש ללחוץ על יש לנו את האפשרות לבחור מה שרק בא לנו, עבור המאמר החלטתי לבחור ב - Disable * Accounts אפשרויות החיפוש מאוד רחבות ניתן לבצע שאילתות מאוד מעמיקות ולקבל Time Logon, Locked Users ועוד... אפשרויות הללו קיימות גם ב - PowerShell 28
נמצאים תחת תיקיה אחת בשם Disabledובנוסף אפשר לראות שכל ה - יוזרים בדומיין הנמצאים ב - Disabled Users" 29
Multiple Users in Active Directory בהמהלך היום נזכרתי בפעולה שעשיתי לפני 3-4 אשמח לשתף אותכם בזה שנים שעזרה לבחור נחמד מהחברה ואני מאוד. אני אפרט, פנה אלי משתמש וביקש ממני להוסיף שדהשך Email ל,Users 500 אז נכון שאף אחד לא יעבור אחד אחד ויתחיל למלאות את השדה - Email - Attribute אלא אנסה לשחוב על, Script או פתרן יצרתי אחר,וכן וזה מה שבדיוק חשבתי באותו רגע עד שלפתע נזכרתי בשיטה יעליה שניתן לבצע ב Active -גם Directory ללא.PowerShell בוא נחזור לבקשה של הבחור הבחור הנחמד ביקש ממני להוסיף Email ל- 500 יוזרים ב - OU ספציפי כלומר שברגע שנקליק עלהמשתמש קליק ימני ונבחר ב - Properties של ה USER -ונבחר בלשונית - General יש לנו שדהשנקרא, Email קצת תמונות להמחשה: 30
Email השדה: Attribute ה את לראות ניתן בנוסף של מצוין לאחר שהבנתי מה בדיוק הבחור רוצה שנבצע אפשר להתחיל לעבוד, עכשיו צריך למצוא פתרון, ישר ולעניין : אז שימו לב אם נסמן את כל האובייקטים בOU או שפשוט נלחץ על crtl + A ונבחר באפשרות Properties נקבל את החלון הבא: קליק ימני ואז 31
32 וישכע ומיש בל הזיא יפוי, רוחבה שקיב ינממ ףיסוהל םלוכל הדשל לש Email למייא רחא contoso.com@ אמגודל : הממא, םא ינא םושרא meirp@contoso.com הז רמוא לכש םישמתשמה ולבקי הדשב לש ה Email - ה תא STMP ילש ( meirp@contoso.com )...לבא םא ינא Username%@contoso.com% םושרא זא האצותה היהת :הנוש :איה האצותה
- בלשונית: Attribute Editor Email Attribute - ה את נבדוק אני אם ובנוסף נוכל לראות : אני בטוח שחלקכם בכלל חשב אחר, אבל שוב (על פי דעתי ( הגדרות באמצעות ה GUI על כיונים אחרים, או ליתר דיוק PowerShell או כל סקריפט אין סיבה להשתמש ב - PowerShell אם יש לנו אפשרות לבצע 33
אם אנחנו נעיין בין הלשונית נוכל לעדכן עוד שדות יעילות למשל, אם אני רוצה שכל הOU יצטרף להחליף סיסמא ב LOGIN הבא או שהסיסמא שלהם תיהיה. Password Never Expired עוד אפשרות נחמדה תחשבו שיש לכם 20-30 אנשי IT ובשביל הסדר הטוב יש שדה ב Properties של Users שנקרא של Department" " ויש באפשרותכם לעדכן את ה " "Department של כל ה Users X תחת אנשי, IT שדה זה יעזור לכם ולמשתמשים בארגון להכיר את העובדים, ולהבין באיזה מחלקה כל אחד נמצא. 34
Migrate Active Directory 2008r2 to 2012 הסביבה שלי לא גדולה, בסה"כ יש לי שרת 1 שהוא Active Directory שיושב על Windows Server 2008 R2 ובנוסף עוד מכונה וירטואלית שמותקן עליה Windows Server2012 ללא שום. Features -,והצעד הראשון שאני עושה הוא נכנס ל Active Directory ומתחיל בהכנות של ה Forest Domain ומריץ את הפקודות adprep שיעזור לנו בצירוף והכנה של ה - DC החדש. adprep /foreset ו ה- Adprep/domainprep לאשר יש באות C 35
36
מספר נקודות : Server 2008 R2 Functional Forest Level יש לוודא ש ה שלכם הוא. המכונה את לצרף יש לדומיין DCים. שיש לבדוק יש תקשורת שאר ה מול יש לצרף את המכונה החדשה לדומיין. DC1 DNS יש להגדיר הגדרות של בשרת החדש. Active Directory [Windows Server 2012 ] הצעד. לגשת הוא הבא למכונה השנייה להתקין: ולבחור יש Active Directory Domain Services ב Add Roles and Feature Wizard להיכנס ל 37
לאחר שהתהליך "הכנה " הסתיים בהצלחה אנחנו - Promote this Server a Domain Controller צריכים להמשיך תהליך את ה-התקנה על וללחוץ 38
39
: DNS לא לשכוח לאפשר Global Catalog ו שירות Replicate from DC1.PELEGIT.COM 40
:DB, Sysvol,Log files - אנחנו הבא באיור בוחרים נרצה היכן ה את לשמור 41
ההתקנה הסתיימה בהצלחה! השרת Restart. יבצע בשלב זה החדש: אנחנו עוברים לשלב הבא,אנחנו צריכים להתחיל להעביר את תפקידיFSMO לשרת יש להיכנס ל Active Directory Users And Computers על DC ולחבור ב - Master Operation מהשרת החדש ולהקליק קליק ימני 42
RID master = Change > Yes 43
PDC = Change > Yes Infrastructure = Change > Yes 44
Active Directory Domains and Trusts - עלינו לגשת עכשיו ל ימני קליק ונעביר את תפקיד Domain Naming Master לשרת החדש Operations Masters Domain naming = Change = Yes 45
ה האחרון ה הוא שנוכל מנת אנחנו אליו לגשת צריכים להריץ פקודה:, על Schema - ROLE- regsvr32.schmmgmt.dll 46
MMC > RUN MMC נפתח - באמצעות התחל > Schema יש להקליק על Add ולהוסיף את ה 47
Change Active Directory Domain Schema נלחץ על ה :Controller קליק ימני ונבחר ב 48
- מאותו DC ל DC1 - על מנת להעביר את ה Schema Master ולאחר מכן להעביר את הROLE - לבצע עלינו התחברות )החדש( ב- Operation > ניתן לראות Master שאנחנו מחוברים לDC2 להקליק יש ולבחור ימני קליק עליו 49
Schema Master = Change = Yes 50
יש להריץ את פקודת Netdom Query Fsmo FSMO - כפי שניתן להבין שפקודה זה נותנת לנו נתון מדויק שאומר היכן כל תפקיד מ יושב. DC בגדול ה את למחוק הוא לנו שנותר מה סיימנו הישן. Servers יש להיכנס ל Active Directory Sites and Services הDC1 וקליק ימני על NTDS Settings ו- Properties לנתב את עצמכם ל : ולסמן את נבטל את ה Global Catalog על ידי הסרת ה V 51
- : ניגש לשרת ונבצע נמחיקה באמצעות הפקודה הבאה dcpromo /forceremoval 52
53
מספר מילים ברשותכם, המאמר הזה מציג לכם את כל הפעולות התקינות על מנת לבצע את התהליך אבל יש לקחת חשבון המון דברים לפני שאתם מבצעים פעולה כזו, תחשבו על שירות DNS ש הDC הישן סיפק לכל הקליינטים, תחשבו על כל האפלקציות צג ג שעבדו מול הDC הזה.חשוב לבצע זאת עם אינטגרטור שעשה זאת מספר פעמיים. תהיו זהירים בבקשה. 54
Sites Sites and Subnets בתקווה שאנחנו עובדים בארגון גדול הסיכוי גדול שיהיו לנו אני מדגיש בפניכם דגשים קטנים: (מספר סניפים בארץ ובעולם) אנחנו צריכים לדעת איך לנהל את הסביבה הזו בצורה תקינה, תמיד יש לקחת בחשבון את עניין הרפלקציה ו Cost בין הסניפים, עלויות, ציוד תקשורת וכו..' COST באפשרותינו לקבוע איזה SITE נמוך יקבל עדיפות בתהליך רפליקציה על פי הגדרת באפשרותינו ניתן להגדיר מאיזה Subnet התחברו ל Domain controller מסוים.מן הסתם אם יש ברושתכם 5 סניפים בעולם או בארץ, לא תרצו שסניף שלכם ב New York התחבר לDC שממקום בישראל. בוא נתאר מצב שבו יש לי שלושה סניפים : בכל סניף יש לנו DC 2-3 החשובים שלמדנו KCC שבסופו של דבר מתבצע רפליקציה בין כולם בעזרת אחד מהגורמים הקישור בין ה sites נעשה ע"י ציוד תקשורת או כל דרך אחרת שאתם מכירים Site to Site וכו.. אם נבדוק ב AD נגלה שהקישורים של כל ה site קיימים כאובייקט : Object, Site Link אנחנו יכולים להגדיר ב Site Link פרמטר של COST שאחראי על רפלקציה על קווי WAN בין שלנו.Sites לצורך העניין זהו המצב הקווים: אשדוד ותל אביב מקושרים בקו WAN של Kbps,אשדוד 1024 וחיפה מקושרים בקו WAN של Kbps,חיפה 512 ותל אביב מקושרים בקו WAN של Kbps 256 מכוון שמאשדוד ותל אביב יש את הקו הטוב ביותר יהיה נכון להגדיר את ה Cost שלנו בצורה כזו: COST 50 אשדוד לתל אביב נגדיר -20 COST - COST 100 נגדיר אשדוד לחיפה נגדיר חיפה לתל אביב. מה שיגרום לטופולוגית הרפלקציה לעבור פחות בין קווי WAN של חיפה תל אביב. 55
System Administrator Commands Gpupdate /Force בעזרת הפקודה הזו ניתן להחיל פוליסי באופן "אגרסיבי" יותר על התחנה. כשמחילים פוליסי ברוב המקרים דרוש לעשות Logoff ואז Logon בעזרת הפקודה gpudate /force בCMD הפוליסי חל מייד. על למנת להחיל את הפוליסי, Troubleshooting במחשבים, Gpresult /r בעזרת הפקודה הזו ניתן לפתור כלומר במידה ומחשב לא מקבל פוליסי אחד האפשרויות שלנו לבדוק את הבעיה היא באמצעות הפקודה הזו שבעצם מראה לנו מה בעצם חל על המחשב הנוכחי ואיזה פוליסים חלים על המחשב. RSOP. GUI מציג לנו את ה Policy שחל על עליונ באמצעות eseutil /mh Name of Database - בעזרת הפקודה הזו ניתן לבדוק את המצב ה DB של השרת Exchange ניתן לגלות אם ישנם עדכונים שהמחשב צריך לקבל עדכונים זמינים. בעזרת הפקודה הזו wuauclt /Reportnow בעזרת הפקודה הזו ניתן לרשום מחשב בשרת הWSUS מסוים לא מקבל עדכון ניתן לבצע הרשמה שלנו ע"י שיקבל עדכונים במידה ומחשב בשרת.WSUS DC Repadmin בעזרת הפקודה הזו ניתן לבדוק את כל העניין של הרפלקציה של השרתי סטטוס, ניתן לבדוק שגיאות של רפלקציה ועוד. שלנו, ניתן לראות 56
DCDIAG מנתח את המצב הדומיין ומדווח על בעיות במידה ויש. DNSCMD מאפשר לנו להוסיף למחוק ליצור רשומות והגדרות DNS Netdom Path AD בעזרת הפקודה הזו ניתן לבצע Query ולקבל את ול של האובייקטים שלנו. LDAP הפקודה הזה מאפשרת לנו להיכנס לליבה של AD ישרות לAD בעזרת פרוטוקול.LDAP ולבצע שחזור של אובייקטים וביצוע פעולות Replmon מציג את טופולוגית הריפליקציה בין שרתים כולל GPO ומדיניות. FSUTIL בדיקת Distributed File System) DFS 57
WWW.PELEGIT.CO.IL Meir Peleg WWW.PELEGIT.CO.IL 58