
Get-ChildItem מציג את כל קבצי היומן בתיקייה. ForEach-Object עובר על כל קובץ ומריץ Get-WinEvent -Path $_.FullName כדי לשלוף את האירועים מתוכו.Where-Object שבודק אם שדה ה-Message מכיל מילה מסוימת (למשל "Print") - מצמצם לכמה אירועים אבל לא מדויק מספיק.Format-List * על האירוע שנמצא מציג את כל השדות, כולל שם המשתמש והשעה המדויקת שבה בוצעה הפעולה.הטקסט המלא של הדקות הראשונות בהרצאה «פקודת Get-WinEvent חיפוש בתוך הקבצים בדיסק» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
והגענו פה לתרגיל אחרון. יש לנו פה תרגיל שמבקשים מאיתנו למצוא בתוך תיקייה הזאת אירוע שקשור ליצירת מדפסת, יצירת שיתוף. באיזה שעה זה קרה בדיוק?
באיזה שעה מישהו הוסיף לנו פה שיתוף כאשר כל היומנים שמורים בתיקייה מסוימת. בואו נלך לראות מה יש לנו בתיקייה הזאת. יש לנו פה בתיקייה הרבה מאוד יומנים. במקום לפתוח אותם אחד אחד, עשיתי דבל קליק ופה בתוך ה-Event Viewer יש Saved Logs.
זה הקובץ שפתחתי כרגע. במקום לפתוח אותם אחד אחד ולעבור כאן כל שורה בנפרד ותחשבו שיש פה הרבה שורות, אני יכול לעשות Open Saved Log ולפתוח עוד יומן ועוד יומן במקום לעשות את כל זה ידנית.
תחשבו כמה יומנים יש לנו פה, כן? פה בתיקייה יש לנו פה, תראו כמה, ארבעים ושבע יומנים ובכל יומן לא יודע כמה שורות יש. אז במקום לעשות את זה ידנית אנחנו נעשה את זה ב-PowerShell.
מזל שלמדנו PowerShell שיודע גם לשלוף דברים מתוך תיקייה. קודם כל אני עושה פקודת Get Children Item. זה למעשה תראה לי את כל הקבצים שנמצאים בתיקייה הזאת.
אני רוצה לשלוף את כל הקבצים שיש פה והנה הוא מראה לי את כל מה שיש בתיקייה, וכל אחד מהקבצים האלו אני מעביר אותם ב-pipe ל-Get Windows Events. זאת אומרת, אני עובר שורה שורה עם Foreach Object על כל אחד מהיומנים, ועבור כל יומן אני מפעיל פקודת Get Windows Events שישלוף לי את כל האירועים שיש בתוך הנתיב הזה, בתוך היומן הספציפי נקודה Full Name.
Full Name זה הנתיב המלא לקובץ. מה שזה ייתן לי הוא למעשה ישלוף לי את כל האירועים שיש בכל היומנים. הוא יעבור יומן יומן. עבור כל יומן הוא ישלוף אירועים שיש בפנים.
פשוט Get Windows Events ב-Path יקבל כל פעם שורה אחרת וישלוף הכול משמה. כרגע זה בלי סינון ואתם תראו כמה דברים הוא שולף לי. הפקודה אכן עובדת.
נעשה Control C. חבל לנו על הזמן. עכשיו כשאנחנו רואים שהפקודה היא תקינה, הדבר הבא שאני עושה, אני מוסיף פה Filter. אני מוסיף פה Filter Where Object.