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

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

    PowerShell מציעה שתי דרכים להאריך את הקליפה. אתה יכול להשתמש snapins, אשר בינארי בלבד שפותח בשפה תכנות מנוצה כמו C #, או שאתה יכול להשתמש במודולים, אשר יכול להיות בינארי כמו גם מבוסס סקריפט.

    הקפד לקרוא את המאמרים הקודמים בסדרה:

    • למד כיצד להפוך את Windows עם PowerShell
    • ללמוד להשתמש Cmdlets ב PowerShell
    • ללמוד כיצד להשתמש אובייקטים ב PowerShell
    • הלמידה עיצוב, סינון והשוואה ב PowerShell
    • למד להשתמש Remoting ב PowerShell
    • באמצעות PowerShell כדי לקבל מידע על המחשב
    • עבודה עם אוספים ב - PowerShell

    ו להישאר מכוון עבור שאר הסדרה כל השבוע.

    Snapins

    Snapins הם כל כך בשנה שעברה. כל הבדיחות בצד, snapins מעולם לא ממש תפס בקרב קהילת PowerShell כי רוב scripters אינם מפתחים ואתה יכול לכתוב רק snapins בשפה כמו C #. עם זאת יש עדיין כמה מוצרים שמשתמשים snapins, כמו פריסה אינטרנט למשל. כדי לראות אילו snapins זמינים לך להשתמש בקליפה אתה משתמש בפקודה הבאה:

    Get-PSSnapin - רשומים

    כדי להשתמש בפקודות שנוספות על-ידי Snapin, תחילה עליך לייבא אותו לפגישה שלך, ותוכל לעשות זאת כך:

    הוסף PSSnapin -Name WDeploySnapin3.0

    בשלב זה, תקבל שגיאה אם ​​לא מותקן במחשב שלך פריסת Snapin. אם יש לך את זה מותקן, כמו שאני עושה, אז זה יהיה מיובאים לתוך ההפעלה שלך. כדי לקבל רשימה של פקודות זמין snapin, אתה יכול פשוט להשתמש ב- Get-Command cmdlet:

    Get-Command -Module WDeploy *

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

    מודולים

    מודולים חדשים יותר והם הדרך קדימה. הם יכולים להיות שניהם scripted באמצעות PowerShell וכן מקודד בשפה כמו C #. רוב פקודות מובנית מאורגנים מודולים גם כן. כדי להציג רשימה של מודולים במערכת, באפשרותך להשתמש בפקודה הבאה:

    Get-Module -ListAvailable

    כאשר המוצרים מתעדכנים, עמיתיהם של PowerShell מועברים למודולים. לדוגמה, SQL היה אמור להיות snapin, אבל זה מורכב עכשיו של מודולים.

    כדי להשתמש במודול, עליך לייבא אותו תחילה.

    ייבוא-מודול-שם SQLASCMDLETS

    אתה יכול להשתמש באותו טריק השתמשנו עם snapins כדי להציג את כל הפקודות שהמודול הוסיף לקליפה.

    אז זה משאיר את השאלה: איך PowerShell יודע מה snapins ומודולים יש לך על המערכת שלך? ובכן, snapins הם קצת כאב ויש צורך להתקין. חלק מתהליך ההתקנה כולל יצירת מספר ערכי רישום ש- PowerShell מחפש כדי למצוא מידע על Snapin. מודולים, לעומת זאת, יכולים להיות רשומים עם הקליפה פשוט על ידי הצבת אותם באחד המיקומים של המשתנה הסביבה PSModulePath. לחלופין, אתה יכול פשוט להוסיף את הנתיב אל המודול למשתנה הסביבה.

    ($ env: PSModulePath) .Split (";")

    זה יהיה לירוק את התוכן של המשתנה. שים לב שאם יש לך מודול כמו SQL מותקן, איך זה שינה את המשתנה לכלול את המיקום של מודול SQL.

    טעינה אוטומטית של מודול

    PowerShell 3 הציג תכונה חדשה מדהים אשר עובר על ידי כמה שמות. אף אחד מהם אינם רשמיים, אבל "מודול Auto Loading" הוא התיאור הטוב ביותר של זה. בעיקרון, הוא מאפשר לך להשתמש cmdlets השייכים מודול חיצוני מבלי לייבא במפורש את המודול באמצעות cmdlet ייבוא-מודול. כדי לראות זאת, הסר תחילה את כל המודולים מהפגז באמצעות הפקודה הבאה:

    Get-Module | הסר מודול

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

    קבל- Module

    עכשיו להשתמש cmdlet כי הוא לא בספריית הליבה. מבחן חיבור הוא אחד טוב:

    מבחן חיבור מקומי

    אם אתה בודק את המודולים טעון שוב, תראה כי אכן לטעון את המודול.

    זה הכל עבור החבר 'ה היום, להצטרף אלינו מחר יותר.