סקריפ שמחזיר לי את שמות המחשבים שהיו מחוברים ב72 שעות האחרונות
-
esaly
-
- חבר ותיק

- תגובות: 2003
- הצטרף: ספטמבר 2009
- שם מלא: esaly
- מיקום: צפון
- נתן תודות: 328 פעמים
- קיבל תודות: 8 פעמים
היי חברים,
יש לנו במעבדה הרבה מחשבים שמחוברים למשתמש בודד מעבדתי מול הAD.
אני רוצה לבדוק בכל רגע נתון איזה מחשבים היו מחוברים ב72 שעות אחרונות לאותו משתמש.
אודה אם מישהו יוכל לעזור:)
בתודה מראש.
יש לנו במעבדה הרבה מחשבים שמחוברים למשתמש בודד מעבדתי מול הAD.
אני רוצה לבדוק בכל רגע נתון איזה מחשבים היו מחוברים ב72 שעות אחרונות לאותו משתמש.
אודה אם מישהו יוכל לעזור:)
בתודה מראש.
- zovirax
- חבר במועדון ה-15K

- תגובות: 15949
- הצטרף: פברואר 2006
- שם מלא: zovirax
- נתן תודות: 299 פעמים
- קיבל תודות: 330 פעמים
לא הבנתי.
אותם מחשבים מתחברים למשתמשים נוספים חוץ מאותו משתמש?
בנוסף יש policy של logout אחרי זמן מסויים?
ב powershell תשתמש ב
Import-Module ActiveDirectory
בטח יש דרך לראות איזה session פתוח ולעשות פילטר למשתמש.
אותם מחשבים מתחברים למשתמשים נוספים חוץ מאותו משתמש?
בנוסף יש policy של logout אחרי זמן מסויים?
ב powershell תשתמש ב
Import-Module ActiveDirectory
בטח יש דרך לראות איזה session פתוח ולעשות פילטר למשתמש.
-
esaly
-
- חבר ותיק

- תגובות: 2003
- הצטרף: ספטמבר 2009
- שם מלא: esaly
- מיקום: צפון
- נתן תודות: 328 פעמים
- קיבל תודות: 8 פעמים
תודה רבה! התשובה לשאלה שלך היא לא..zovirax כתב:לא הבנתי.
אותם מחשבים מתחברים למשתמשים נוספים חוץ מאותו משתמש?
בנוסף יש policy של logout אחרי זמן מסויים?
ב powershell תשתמש ב
Import-Module ActiveDirectory
בטח יש דרך לראות איזה session פתוח ולעשות פילטר למשתמש....
המחשבים עושים שימוש רק באותו יוזר מעבדתי.
·
-
esaly
-
- חבר ותיק

- תגובות: 2003
- הצטרף: ספטמבר 2009
- שם מלא: esaly
- מיקום: צפון
- נתן תודות: 328 פעמים
- קיבל תודות: 8 פעמים
·אני מעוניין לראות את כל שמות המחשבים שהתחברו ליוזר הזה מבלי לעבור אחד אחד ולבדוק... פשוט לקבל פלט של שמות המחשבים שעשו לוגאין ליוזר הזה ב72 שעות האחרונות.zovirax כתב:אז לא הבנתי מה אתה מנסה להשיג הסקריפט....
- NegativeIQ
-
- חבר מביא חבר

- תגובות: 4485
- הצטרף: דצמבר 2005
- נתן תודות: 12 פעמים
- קיבל תודות: 578 פעמים
אני לא חושב שאפשר לעשות את זה רטרואקטיבית, נדמה לי שברירת המחדל היא לא לשמור לוגים.
כנראה שהדרך הכי טובה היא ליצור login script לדומיין ששולח את הנתונים של שם המחשב ושם המשתמש לשרת מרכזי (שיכול להיות גם ה-DC) ברגע שמשתמש מתחבר. זה נותן את הלוג הכי מדוייק שאפשר, אבל הבעיה היא שמשתמש עם ידע טכני רחב יכול להתעסק עם המחשב המקומי ולמנוע מהסקריפט לרוץ או למנוע ממנו מלתקשר עם השרת (מה שכן זה לא משהו שמשתמש ממוצע יצליח) וגם זה לא שומר נסיונות התחברות שנכשלו (סיסמה שגויה לדוגמה) כי הסקריפט רץ רק אחרי שבוצע login.
אפשרות שניה היא לשמור לוגים מצד ה-DC עצמו, בשביל זה צריך להפעיל את אפשרות ה-login auditing ב-security policy על ה-DC. היתרון כאן הוא שאין למשתמש אפשרות להתערב בזה כי זה לחלוטין בצד השרת. החסרון הוא שזה לא 100% מדוייק כי לפעמים ה-login המקומי וה-login ל-DC לא מגיעים ביחד. הדוגמה הכי מובהקת היא שימוש ב-cached credentials - כשעושים login למחשב עם יוזר בדומיין המחשב שומר מקומית את הסיסמה כדי לאפשר למשתמש להתחבר בפעם הבאה למחשב גם אם הוא מנותק מהרשת או שיש בעיות חיבור. כמובן שבמקרה כזה הפעולה מתבצעת offline לגמרי ולכן לא תראה לוגים. מה שכן, ברגע שהמשתמש ינסה לגשת לאיזשהו משאב רשת (כמו כונן משותף) אז המחשב ינסה לבצע לוגין מול ה-DC שוב ואז יירשם לוג. בנוסף יכולים להיות עוד מקרים כאלה (לדוגמה שתוקף ה-security token פג והמחשב עושה אוטומטית login ל-DC שוב), כלומר יכולים להיות גם מצבים שתראה לוג של התחברות גם כשהמשתמש כבר היה מחובר עוד קודם.
עריכה: יכול להיות גם מצב שאירועי התחברות לא אינטראקטיביים יישמרו, לדוגמה משתמש על מחשב A מנסה לגשת לכונן משותף על מחשב B, אז מחשב B ינסה לאמת את המשתמש וייגרום ללוג שיראה התחברות של המשתמש על מחשב B למרות שהוא רק ניגש אליו דרך הרשת.
אם אתה הולך בכיוון הזה אז הלוגים על ה-DC נשמרים ל-Security event log, שאפשר לראות אותו עם ה-Event viewer על ה-DC ואפשר לייצא אותו לקובץ עם WMI Scripts.
כנראה שהדרך הכי טובה היא ליצור login script לדומיין ששולח את הנתונים של שם המחשב ושם המשתמש לשרת מרכזי (שיכול להיות גם ה-DC) ברגע שמשתמש מתחבר. זה נותן את הלוג הכי מדוייק שאפשר, אבל הבעיה היא שמשתמש עם ידע טכני רחב יכול להתעסק עם המחשב המקומי ולמנוע מהסקריפט לרוץ או למנוע ממנו מלתקשר עם השרת (מה שכן זה לא משהו שמשתמש ממוצע יצליח) וגם זה לא שומר נסיונות התחברות שנכשלו (סיסמה שגויה לדוגמה) כי הסקריפט רץ רק אחרי שבוצע login.
אפשרות שניה היא לשמור לוגים מצד ה-DC עצמו, בשביל זה צריך להפעיל את אפשרות ה-login auditing ב-security policy על ה-DC. היתרון כאן הוא שאין למשתמש אפשרות להתערב בזה כי זה לחלוטין בצד השרת. החסרון הוא שזה לא 100% מדוייק כי לפעמים ה-login המקומי וה-login ל-DC לא מגיעים ביחד. הדוגמה הכי מובהקת היא שימוש ב-cached credentials - כשעושים login למחשב עם יוזר בדומיין המחשב שומר מקומית את הסיסמה כדי לאפשר למשתמש להתחבר בפעם הבאה למחשב גם אם הוא מנותק מהרשת או שיש בעיות חיבור. כמובן שבמקרה כזה הפעולה מתבצעת offline לגמרי ולכן לא תראה לוגים. מה שכן, ברגע שהמשתמש ינסה לגשת לאיזשהו משאב רשת (כמו כונן משותף) אז המחשב ינסה לבצע לוגין מול ה-DC שוב ואז יירשם לוג. בנוסף יכולים להיות עוד מקרים כאלה (לדוגמה שתוקף ה-security token פג והמחשב עושה אוטומטית login ל-DC שוב), כלומר יכולים להיות גם מצבים שתראה לוג של התחברות גם כשהמשתמש כבר היה מחובר עוד קודם.
עריכה: יכול להיות גם מצב שאירועי התחברות לא אינטראקטיביים יישמרו, לדוגמה משתמש על מחשב A מנסה לגשת לכונן משותף על מחשב B, אז מחשב B ינסה לאמת את המשתמש וייגרום ללוג שיראה התחברות של המשתמש על מחשב B למרות שהוא רק ניגש אליו דרך הרשת.
אם אתה הולך בכיוון הזה אז הלוגים על ה-DC נשמרים ל-Security event log, שאפשר לראות אותו עם ה-Event viewer על ה-DC ואפשר לייצא אותו לקובץ עם WMI Scripts.