15Sep
לפני כמה שבועות, חנון הראה לך איך אתה יכול להשתמש בשורת הפקודה כדי למצוא כאשר המחשב היה מופעל לאחרונה.בהתקנה האחרונה של Geek School for PowerShell, אנחנו הולכים לכתוב פקודה PowerShell לשימוש חוזר לעשות את אותו הדבר.
הקפד לקרוא את המאמרים הקודמים בסדרה:
- למד כיצד להפוך את Windows עם PowerShell
- לומד להשתמש ב- Cmdlets ב- PowerShell
- למד כיצד להשתמש באובייקטים ב- PowerShell
- למידה, סינון והשוואה ב- PowerShell
- למד להשתמש ב- Remoting ב-PowerShell
- באמצעות PowerShell כדי לקבל מידע על המחשב
- עבודה עם אוספים ב- PowerShell
- למד כיצד להשתמש במשימות ב- PowerShell
- למד כיצד להרחיב PowerShell
- משתני PowerShell של למידה, קלט ופלט
כתיבת הסקריפט הראשון שלך
הדבר הראשון שעלינו לעשות הואלמצוא דרך לגשת למידע שאנו מחפשים.מכיוון שאנו עוסקים במידע ניהול, אנחנו כנראה צריכים להעיף מבט באמצעות WMI, אשר אכן יש בכיתה בשם Win32_OperatingSystem אשר מאפשר לך להציג מידע verbose על מערכת ההפעלה שלך, כולל הפעם האחרונה שזה התחיל.
אז עכשיו אנחנו יודעים איפה אנחנו יכולים למצוא את המידע שאנחנו מחפשים, לפתוח את ISE ואת סוג הבא.
Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
בחר אובייקט -Property CSName, LastBootUpTime
הערה: הייתי צריך לפצל את הקוד שלי על שתי שורות, כך שיתאימו כולם לתמונה, אבל אל תהסס להקליד אותו בשורה אחת.אם תבחר לפצל את זה מעל שתי שורות, ודא כי תו צינור הוא התו האחרון בשורה 1.
עכשיו לחץ על הכפתור "הפעל סקריפט" ירוק או לחץ על מקש F5 במקלדת כדי לבדוק את הקוד.
פעמים WMI יכול להיות קצת סתומה.לפי זה אנו מתכוונים אם אתה מסתכל על המאפיין LastBootUpTime, זה אומר 2013-03-19 בשעה 18:26:21, אבל מסיבה כלשהי החבר 'ה WMI החליט לשרשר את כל זה לתוך מחרוזת אחת.למזלנו, אנחנו לא צריכים לדאוג לנתח את החוט באופן ידני כמו יש דרך קלה יותר לעשות את זה, אם כי מתקדמים יותר.יהיה עליך לשנות את החלק Select-Object של הקוד כך שייראה:
Select-Object -Paperty CSName, @{ n = "Last Booted";מה שאנו עושים כאן הוא יצירת מאפיין מותאם אישית הנקרא "Boot Booted", וציון שערכו חייב להיות תוצאה של התקשרות ל- ToDateTime סטטישיטה על המאפיין LastBootUpTime של אובייקט צינור הנוכחי.הקוד שלך אמור להיראות כך עכשיו.
הפעלת הקוד כעת תניב זמן קריאה הרבה יותר קריא.
עכשיו אנחנו שמחים עם הפונקציונליות הבסיסית של התסריט שלנו, אנחנו צריכים לשמור אותו.עבור פשטות, בואו לשמור את זה כדלקמן:
C: \ Get-LastBootTime.ps1
עכשיו לעבור למחצית התחתונה של ISE ולהפעיל את הפעולות הבאות:
C: \ Get-LastBootTime.ps1
נהדר!הסקריפט שלנו פועל כצפוי, אך עדיין קיימת בעיה אחת עם התסריט שלנו.אנחנו hardcoded את שם המחשב שאנחנו רוצים לקבל את זמן האתחול האחרון.במקום ערכים של קידוד, אנו מעדיפים לספק פרמטר כך שמי שמשתמש ב- script יכול לבחור באיזה מחשב הם מפעילים את הסקריפט.לשם כך, עבור לראש הסקריפט שלך ובצע את הפעולות הבאות.
פרמטר(
[string] $ ComputerName
)
ואז להחליף את הערך localhost hardcoded עם המשתנה $ ComputerName.הסקריפט שלך אמור להיראות כך:
שמור את הסקריפט שלך, ואז חזור אל החלק התחתון של ה- ISE והצג את העזרה עבור הסקריפט.
לעזור C: \ Get-LastBootTime.ps1
מדהים, אז עכשיו אנחנו יכולים לציין את שם המחשב שאנחנו רוצים לקבל את זמן האתחול האחרון לשימוש בפרמטר החדש שלנו ComputerName.למרבה הצער, יש עדיין כמה דברים לא בסדר.ראשית, הפרמטר ComputerName הוא אופציונלי ושנית, זה עוזר הכי מכוער שראיתי אי פעם, אז בואו לתקן את הבעיות האלה במהירות.כדי להפוך את הפרמטר ComputerName לזמין, שנה את התוכן של גוש הפרמטרים הבא.
[פרמטר( חובה = $ true)] [מחרוזת] $ ComputerName
באשר להכנת קובץ עזרה טוב יותר, השיטה הנפוצה ביותר היא להשתמש בעזרה מבוססת הערה.זה אומר שאנחנו פשוט להוסיף עוד תגובה ארוכה על החלק העליון של התסריט החוצה.
& lt; #
. SYNOPSIS
מראה מתי המחשב האחרון התחיל.
. DESCRIPTION
זוהי פונקציית WMI Wrapper כדי לקבל את הזמן שבו המחשב האחרון התחיל.
. PARAMETER שם מחשב
שם המחשב שבו ברצונך להפעיל את הפקודה.
. EXAMPLE
Get-LastBootTime -ComputerName localhost
. LINK
www.howtogeek.com
# & gt;
ברגע שכל זה נעשה, אתה צריך בסופו של דבר עם סקריפט נראה ככה.
בואו נלך עכשיו לבדוק את קובץ העזרה החדש שלנו.
אההה, נראה נהדר!עכשיו, כי התסריט שלנו הושלם, יש לנו דבר אחד אחרון לעשות: בדיקה.לשם כך, אני עומד לצאת מתוך ISE ואת הראש בחזרה לתוך קונסולת PowerShell רק כדי שנוכל לוודא שאין אנומליות.
אם אתה מתחיל עם אניה פשוטה אחת רק לשמור על הבניין על זה כמו שעשינו במדריך זה, תקבל את העיקרון של זה בתוך זמן קצר.זה הכל בשביל זה הפעם אנשים, לראות אותך ההתקנה הבאה של חנון הספר.