בארגונים גדולים נשאלת השאלה של כל איש IT איך מנהלים את כלל המתמשים המתחברים למערכת? כיצד אנחנו יכולים לדעת האם העובד עזב או עובד בחברה? האם אנחנו יכולים לעשות בקרה טובה יותר? האם העובד התחבר למערכת בשעה שאנחנו יודעים יודעים שאף אחד לא צריך להיות מחובר למערכת? שאלות מסוג זה תמיד יושבות בראשו של מנהל/ת הרשת של הארגון, כאשר מדובר בארגון קטן נניח 20 משתמשים קל מאוד לעשות בקרה על חיבור משתמשים לרשת דרך ה-Active Directory, אבל כאשר מדובר בארגון של מאות עובדים לוקח הרבה מאוד זמן לבדוק כל משתמש מתי הוא התחבר בפעם האחרונה למערכת. לצורך כך נכתוב סקריפט קטן שייצא לנו את כלל המשתמשים ברשת הארגונית כך שנוכל לדעת על גבי טבלת אקסל פשוטה מתי אותו יוזר התחבר בפעם האחרונה למערכת.
הסבר על הפקודה: 1. Path – נגדיר משתנה בנתיב מסויים שאליו נייצר את קובץ האקסל. 2. Get-ADUser – נבצע קריאה ליוזרים הקיימים ב-ActiveDirectory. 3. Filter – נבצע סינון של חיפוש בתוך מאפיינים של היוזרים (Properties). 4. Select – הוצאת סוג הערכים שאנחנו רוצים. 5. Name – קבלת שם היוזרים הקיימים ב-ActiveDirectory. 6. @{l='OU';e={$_.DistinguishedName.split(',')[1].split('=')[1]}} – הוצאת מיקום היוזר ב-ActiveDriectory. 7. @{Name="TIME"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString('dd-MM-yy')}} – הוצאת תאריך החיבור האחרון של המשתמש למערכת. 8. Export-Csv -Path $Path –notypeinformation – הוצאת כלל המידע לקובץ CSV לניתב אותו הגדרנו במשתנה Path
לאחר הרץ הסקריפט נפתח את הקובץ שיצרנו ונוכל לראות מתי בפעם האחרונה התחברו משתמשים למערכת.