התחלה עם גלריית PowerShell

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

במדריך הזה, תלמד למצוא, להוריד ולהתקין משאבים משוק ה- PowerShell.

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

תנאים מקדימים

מדובר בהדגמה ידי יד. כדי לעקוב, וודא שיש לך מערכת עם PowerShell 5.1 או גרסה מתקדמת יותר מותקנת. מדובר בווינדוס 10 עם PowerShell 5.3 מותקן, אך גרסאות אחרות של ווינדוס ו-PowerShell אמורות גם לעבוד.

התקנת .NET Framework

לפני שנוכל לקפוץ לתוך שוק ה- PowerShell, יש צורך ראשית באמצע להתקשר עם שוק ה- PowerShell, ו.NET Framework הוא הדרך העיקרית.

עליך להתקין תחילה את .NET Framework, שחיוני למודול PowerShellGet. מודול PowerShellGet דורש לפחות .NET Framework v4.5+. מודול PowerShellGet מאפשר לך לגלות, להתקין, לעדכן ולפרסם ארטיפקטים של PowerShell.

אך במדריך זה, תתקין את .NET Framework v4.8.

? שימו לב כי עשוי להיות שה-.NET Framework v4.8 כבר מותקן במערכת שלך. אם כן, תוכלו לדלג על שלב זה. אבל אם יש לך גרסה ישנה יותר של .NET Framework, יש להסיר אותה ולשדרג לגרסה חדשה יותר.

כדי להתקין את .NET Framework, עקבו אחר השלבים הבאים:

1. פתחו את הדפדפן האינטרנט המועדף עליכם ונווטו אל עמוד ההורדה הרשמי של .NET Framework.

2. לאחר מכן, לחצו על קישור הורדת .NET Framework 4.8 Developer Pack כדי להוריד קובץ דומה ל־ndp48-devpack-enu. קובץ זה הוא חבילת ההתקנה לגרסת NET Framework 4.8.

Downloading .NET Framework 4.8

3. המתינו להורדה להשלים, ולאחר מכן פתחו את הקובץ שהורדתם על ידי לחיצה כפולה כדי להפעיל את תוכנת ההתקנה של .NET Framework.

Launching the .NET Framework installer

? אם נתקלתם בבעיות בהתקנת .NET Framework, נסו להפעיל את קובץ ההתקנה ב[מצב תאימות]

4. סמנו את תיבת הסימון בתחתית המסך כדי לקבל את תנאי הרישיון, ולחצו על הכפתור התקנה כדי להתקין את .NET Framework 4.8.

Accepting the license terms and conditions

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

Viewing the installation progress

5. כעת, לחץ על הכפתור סגור כדי לסגור את התקנת התוכנה כשההתקנה הושלמה.

Finishing the .NET Framework installation

6. לבסוף, פתח את PowerShell כמנהל והפעל את הפקודה הבאה [Start-Process] כדי לפתוח את היישום הוסף או הסר תוכנות (appwiz.cpl). היישום הזה מאפשר לך לראות רשימה של תוכניות שמותקנות במערכת שלך.

Start-Process "appwiz.cpl”

תראה רשומות עבור .NET Framework 4.8 ברשימת התוכניות שמותקנות, כפי שמוצג למטה.

Verifying the .NET Framework 4.8 installation

התקנת מודול PowerShellGet

עם ה.NET Framework מותקן ופועל, תוכל כעת להתקין את הרכיב המרכזי של גלריית PowerShell, מודול PowerShellGet.

גרסת PowerShellGet (1.0.0.1) שמותקנת מראש עם Windows Power Shell 5.1 מציעה תכונות מוגבלות. אם אתה משתמש ב-Windows PowerShell 5.1 או ישן יותר, שקול להשתמש ביכולות המעודכנות של PowerShell Gallery. הגרסה העדכנית ביותר היא 3.0.17-beta17 בזמן כתיבת שורות אלו.

להתקנת מודול PowerShellGet, עקוב אחר השלבים הבאים:

1. הפעל את הפקודה הבאה, שלא מייצרת פלט, אך מפעילה Transport Layer Security (TLS) 1.2 בסשן PowerShell שלך. TLS הוא פרוטוקול אבטחה שמצפין נתונים המועברים באינטרנט.

הפעלת TLS 1.2 חיונית מאחר ו-PowerShell אינו מוגדר לשימוש ב-TLS 1.2 כברירת מחדל. פקודה זו קובעת את SecurityProtocol עבור האובייקט System.Net.ServicePointManager ל-TLS 1.2 (Tls12). בתורו, אתה מקבל גישה ל-PowerShell Gallery באמצעות TLS 1.2 או גבוה יותר.

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

? שים לב ששינוי זה חל רק על הסשן PowerShell הנוכחי. אך ניתן להגדיר את PowerShell לשימוש ב-TLS 1.2 תמיד על ידי הוספת הפקודה לעיל לפרופיל PowerShell שלך.

הרץ את הפקודה Install-PackageProvider שלמטה כדי להתקין את ספק החבילות של NuGet. ספק החבילות של NuGet מאפשר לך להתקין ולנהל חבילות ממאגר החבילות של NuGet. מאגר זה הוא מאגר מרכזי של חבילות מקור פתוח עבור פלטפורמת .NET.

ספק החבילות של NuGet דרוש לפני השימוש בפקודת ה-[Install-Module] כדי להתקין מודולים מגלריית PowerShell. למה? רבים מהמודולים בגלריית PowerShell משוכללים כחבילות של NuGet.

Install-PackageProvider -Name NuGet -Force
Installing the NuGet package provider

לאחר התקנת הספק, כעת תוכל להנות מ-API של NuGet. ה-API של NuGet מאפשר לך לגשת למאגר החבילות של NuGet כדי ליצור כלים ויישומים שיכולים להתקשר עם מאגר החבילות של NuGet. לקשר איך? לבצע מגוון משימות, כגון חיפוש, התקנה ועדכון של חבילות.

באופן כללי, ישנם שני גרסאות של API של NuGet, שניתן להשתמש בהם לפי הדרישות שלך ולפי היכולות של הלקוח והשרת שלך.

Version Description Usage
v2 Uses XML as the data format for communication between the client and server.

This version is based on the original NuGet API introduced in 2011 and is the legacy version of the API.

The v2 API is recommended if you use an older version of NuGet or a client or server that does not support the v3 API.

This version is supported by all versions of NuGet and is compatible with older clients and servers.

v3 Uses JSON as the data format for communication between the client and server. This version was introduced in 2013 as an improvement over the v2 API and included many new features and improvements.

Many new features included are support for side-by-side package installation, improved search capabilities, and large package support.

The v3 API is recommended if you use a newer NuGet version. The v3 API is faster and more efficient than the v2 API.

This version is not supported by older versions of NuGet and may not be compatible with older clients and servers.

? באופן כללי, API של NuGet גרסה 3 מומלץ מאחר והוא מספק את התכונות והיכולות העדכניות ביותר.

3. רוץ את הפקודה הבאה Set-PSRepository, שאינה מחזירה פלט, אלא מגדירה את כמורת החבילות של PowerShell Gallery (PSGallery) כמקור מהימן של חבילות. בכך תוכל להתקין מודולים מתוך PowerShell Gallery.

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted -ErrorAction Stop

4. עכשיו, הרץ את הפקודה Install-Module למטה כדי להתקין את הגרסה העדכנית ביותר (-AllowPrerelease) של מודול PowerShellGet.

Install-Module -Name PowerShellGet -AllowPrerelease -Force
Installing the latest version of PowerShellGet

5. לבסוף, הרץ את הפקודה Get-InstalledModule למטה כדי לוודא שהמודול PowerShellGet הותקן בהצלחה.

Get-InstalledModule PowerShellGet

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

Verifying the PowerShellGet module installation

גילוי מודולים מתוך PowerShell Gallery

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

לחפש מודול בגלריית PowerShell, ניתן להשתמש ב- cmdlet Find-Module. פקודה זו מחפשת בגלריית PowerShell מודולים שתואמים קריטריונים מסוימים, כגון שם המודול, גרסה או תג.

1. הרץ את הפקודה Find-Module למטה כדי לחפש בגלריית PowerShell מודולים ששמותיהם מתאימים ל- AzureRM.

Find-Module -Name AzureRM

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

Discovering modules from the PowerShell Gallery

2. לאחר מכן, הרץ את אחת מהפקודות למטה כדי לחפש מודולים באמצעות -Tag עם המילה המפתח Azure. הפרמטר -Tag אינו תלוי באותיות רישיות, כך שניתן להשתמש ב- azure או Azure כמילת מפתח לתג.

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

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

Find-Module -Tag 'Azure'
Find-Module -Tag 'azure'

גלריית PowerShell היא מאגר רחב של משאבים שנתרמים על ידי מחברים מגוונים, וישנם רבים מודולים הקשורים למילות מפתח פופולריות כמו Azure.

כתוצאה מכך, תראו רשימה ארוכה של מודולים שתואמים את המילות המפתח או התגים שלכם, כמו בתמונות הבאות.

Searching for modules in the PowerShell Gallery using a tag

? ניתן גם להשתמש בתגים כדי לקבץ מודולים קשורים ולמצוא משאבים קשורים בצורה מהירה יותר. לדוגמה, ניתן להשתמש בתג Virtualization כדי לקבץ מודולים הקשורים לטכנולוגיות וירטואליזציה, כמו Hyper-V או VMware.

3. כעת, הריצו את הפקודה הבאה כדי להגביל את החיפוש ולמצוא מודול מסוים על ידי שילוב הפרמטרים בפקודת ה-Find-Module.

הפקודה מתחת מוצאת מודול מגלריית PowerShell לפי הפרמטרים הבאים:

  • -Name – חיפוש מודולים לפי שם ספציפי Az.Compute.

  • -Tag – חיפוש מודולים לפי תגי Azure ו-Microsoft.
Find-Module -Name 'Az.Compute' -Tag 'Azure', 'Microsoft’
Filtering module search results

התקנה ועדכון מודולים

כאשר מוצאים מודול שמעניין אתכם, התקנת המודול היא רק כמה קלטות בלבד. ניתן להשתמש בפקודת ה-Install-Module כדי להוריד מודולים מגלריית PowerShell ולהתקין אותם במערכת המקומית שלכם.

1. הריצו את הפקודה הבאה כדי להוריד ולהתקין את המודול Az.Compute מגלריית PowerShell.

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

Install-Module -Name 'Az.Compute'

2. לאחר מכן, הפעל את הפקודה הבאה: Get-InstalledModule כדי לוודא שהמודול Az.Compute הותקן במערכתך.

Get-InstalledModule -Name 'Az.Compute'
Verifying a module installation

? בנוסף, תוכל להריץ את הפקודה Get-InstalledModule ללא פרמטרים כדי להציג רשימה של כל המודולים המותקנים במערכתך. יש לך להיות זהיר, מכיוון שיתכן שתשבר את העיניים שלך בגלל כמות גדולה של מודולים שמותקנים.

Listing all installed modules

3. כעת, הרץ את הפקודה הבאה: Update-Module, המחפשת את הגרסה העדכנית ביותר של מודול מסוים (כמו Az.Compute) ומעדכנת אותו.

עדכון מודולים המותקנים עשוי לכלול תיקוני באגים, תכונות חדשות או שיפורים אחרים.

Update-Module -Name Az.Compute

הסרת מודולים ב- PowerShell

ישנם רגעים שבהם עשויים להיות צורך להסיר מודול מהמערכת. לדוגמה, אם אין עוד צורך במודול או אם הוא מגרימה בעיות.

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

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

הריצו את הפקודה Uninstall-Module הבאה כדי להסיר מודול מסוים (Az.Compute) מהמערכת שלכם. פקודה זו לא תציג פלט אם ההסרה הצליחה.

Uninstall-Module -Name Az.Compute

? אם יישומים או תסריטים אחרים משתמשים כרגע במודול, פקודת ה-Uninstall-Module תזרוק שגיאה וההסרה תיכשל.

מסקנה

מודולי PowerShell הם כלים עוצמתיים שמאפשרים לכם להוסיף יכולות לסביבת ה-PowerShell שלכם במהירות. ובמדריך זה, יחד עם PowerShell Gallery, תוכלו לגלות ולהתקין מודולים בעזרת מספר פקודות.

הרוויחו מהפוטנציאל של PowerShell Gallery וחפשו מודולים של PowerShell כדי להתאים אישית ולשפר את התסריטים והזרימות של PowerShell שלכם כבר היום!

Source:
https://adamtheautomator.com/powershell-gallery/