דף הבית » איך ל » בית הספר חנון כתיבת הראשון שלך PowerShell מלא

    בית הספר חנון כתיבת הראשון שלך PowerShell מלא

    לפני כמה שבועות, חנון הראה לך איך אתה יכול להשתמש בשורת הפקודה כדי למצוא כאשר המחשב היה מופעל לאחרונה. בהתקנה האחרונה של בית הספר החנון עבור 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 |

    בחר-אובייקט -Pnty CSName, LastBootUpTime

    הערה: הייתי צריך לפצל את הקוד שלי על שתי שורות, כך שיתאימו כולם לתמונה, אבל אל תהסס להקליד אותו בשורה אחת. אם תבחר לפצל את זה מעל שתי שורות, ודא כי תו צינור הוא התו האחרון בשורה 1.

    כעת לחץ על הלחצן "הפעל סקריפט" ירוק או הקש על המקש F5 במקלדת כדי לבדוק את הקוד.

    פעמים WMI יכול להיות קצת סתומה. לפי זה אנחנו מתכוונים אם אתה מסתכל על המאפיין LastBootUpTime, זה אומר 2013-03-19 בשעה 18:26:21, אבל משום מה החבר 'ה WMI החליט לשרשר את כל זה לתוך מחרוזת אחת. למזלנו, אנחנו לא צריכים לדאוג באופן ידני לנתח את המחרוזת כמו יש דרך קלה יותר לעשות את זה, אם כי מתקדמים יותר. יהיה עליך לשנות את החלק Select-Object של הקוד כך שייראה כך:

    בחר-אובייקט-CSPame, @ @ n = "Last Booted";

    e = [Management.ManagementDateTimeConverter] :: ToDateTime ($ _. LastBootUpTime)

    מה שאנחנו עושים כאן הוא יצירת תכונה מותאמת אישית בשם "Last Booted" וציון שערכו חייב להיות תוצאה של התקשרות בשיטה הסטטית ToDateTime במאפיין LastBootUpTime של אובייקט הצינור הנוכחי. הקוד שלך אמור להיראות כך עכשיו.

    הפעלת הקוד כעת תניב זמן קריאה הרבה יותר קריא.

    עכשיו שאנחנו מרוצים מהפונקציונליות הבסיסית של הסקריפט שלנו, אנחנו צריכים לשמור אותו. לקבלת פשטות, בואו נשמור אותו כך:

    C: \ Get-LastBootTime.ps1

    עכשיו לעבור למחצית התחתונה של ISE ולהפעיל את הפעולות הבאות:

    C: \ Get-LastBootTime.ps1

    גדול! הסקריפט שלנו פועל כצפוי, אך עדיין יש בעיה אחת עם התסריט שלנו. אנחנו hardcoded את שם המחשב שאנחנו רוצים לקבל את זמן האתחול האחרון. במקום ערכים של קידוד, אנו מעדיפים לספק פרמטר כך שמי שמשתמש בתסריט יכול לבחור באיזה מחשב הם מפעילים את הסקריפט. לשם כך, עבור לראש הסקריפט שלך ובצע את הפעולות הבאות.

    פרמטר (
    [מחרוזת] $ ComputerName
    )

    לאחר מכן, החלף את הערך localhost hardcoded עם המשתנה $ ComputerName. הסקריפט שלך אמור להיראות כך:

    שמור את התסריט שלך, ואז חזרו חזרה למחצית התחתונה של ISE והצג את העזרה עבור הסקריפט.

    עזרה C: \ Get-LastBootTime.ps1

    מדהים, אז עכשיו אנחנו יכולים לציין את שם המחשב שאנחנו רוצים לקבל את זמן האתחול האחרון לשימוש בפרמטר החדש שלנו ComputerName. למרבה הצער, יש עדיין כמה דברים לא בסדר. ראשית, הפרמטר ComputerName הוא אופציונלי ושנית, זה עוזר הכי מכוער שראיתי אי פעם, אז בואו לתקן את הבעיות האלה במהירות. כדי להפוך את הפרמטר ComputerName לזמין, שנה את התוכן של גוש הפרמטרים הבא.

    פרמטר (חובה = $ true)] [מחרוזת] $ ComputerName

    באשר ליצירת קובץ עזרה טוב יותר, השיטה הנפוצה ביותר היא להשתמש בעזרה המבוססת על תגובה. זה אומר שאנחנו פשוט להוסיף עוד תגובה ארוכה לראש הדף את התסריט.

    <#
    .סינופסיס
    מראה מתי המחשב האחרון התחיל.
    .תיאור
    זוהי פונקציה WMI Wrapper כדי לקבל את הזמן כי המחשב האחרון התחיל.
    .שם מחשב
    שם המחשב שברצונך להפעיל את הפקודה.
    .דוגמא
    קבל- LastBootTime -ComputerName localhost
    .קישור
    www.howtogeek.com
    #>

    לאחר כל זה נעשה, אתה צריך בסופו של דבר עם סקריפט נראה ככה.

    בוא נלך עכשיו לבדוק את קובץ העזרה החדש שלנו.

    אההה, נראה נהדר! עכשיו, כי התסריט שלנו הושלם, יש לנו דבר אחד אחרון לעשות: בדיקה. לשם כך, אני הולך לצאת מתוך ISE ואת הראש בחזרה לתוך קונסולת PowerShell רק כדי שנוכל לוודא שאין אנומליות.

    אם אתה מתחיל עם אניה פשוטה אחת פשוט לשמור על הבניין כמו שעשינו במדריך זה, תקבל את העיקרון של זה בתוך זמן קצר. זה הכל בשביל זה הפעם אנשים, לראות אותך ההתקנה הבאה של חנון הספר.