אוטומציה של בניינים עם PowerShell עשויה להיראות בתחילה מאיימת, אבל כמו כל מאמץ גדול, זה הכל על לקחת את זה צעד אחר צעד. דמיינו את PowerShell כאוסף של קוביות בניין, עם מודולים כבסיס שמחיה את הפונקציות שלו.
במאמר זה, תגלו מה הם מודולי PowerShell, איך למצוא אותם ומהם השימושים שלהם כדי לשדרג את משימות האוטומציה שלכם. מניהול מכונות וירטואליות ועד חיבור עם שירותי ענן או אוטומציה של Active Directory, מודולים עושים את הכל אפשרי.
קראו עוד כדי לשחרר את הפוטנציאל המלא של PowerShell ולפתור את המשימות שלכם בדיוק!
גילוי מודולי PowerShell זמינים
מודולי PowerShell הם בלוקים חיוניים שמרחיבים את הפונקציות שלו. אבל, לא כל המודולים נטענים אוטומטית לסשן שלכם—לעיתים הם נשארים על המערכת שלכם, מחכים להתגלות.
כדי לחקור את המודולים המותקנים על המערכת שלכם, השתמשו בפקודת Get-Module
:
Get-Module
אתם עשויים לשים לב לרשימה קצרה של מודולים. הסיבה היא שGet-Module
מציגה רק את המודולים שכבר יובאו לסשן שלכם.
כדי לראות את כל המודולים הזמינים על המערכת שלכם, כולל אלו שעדיין לא נטענו, הוסיפו את הפרמטר -ListAvailable
:
Get-Module -ListAvailable
פקודה זו מציגה את כל המודולים הזמינים על המערכת שלכם, בין אם נטענו בזיכרון ובין אם לא. PowerShell מייבא אוטומטית מודולים כאשר אתם משתמשים בפקודות מהם, כך שבדרך כלל אין צורך לטעון אותם ידנית.
מודולים יכולים להיות מסוגים שונים—סקריפט, בינארי או מניפסט.
כדי לקבץ מודולים לפי סוגם לבדיקה קלה יותר, נסו את זה:
gmo -ListAvailable | group ModuleType
כאן, אתה משתמש בכינויים לנוחות.
לדוגמה, gmo
הוא ראשי תיבות עבור Get-Module
, ו־group
הוא ראשי תיבות עבור Group-Object
. כינויים חוסכים זמן בעת הרצת פקודות בקונסולה.
גילוי גרסאות של מודולים ופרטי פקודות
לכל מודול יש גרסה המייצגת את סט התכונות שלו או שינויים לאורך הזמן. הגרסאות מאפשרות לך לנהל עדכונים או לשחזר לגרסה קודמת אם נדרש.
מודולים מכילים גם פקודות שנגישות דרך המאפיין ExportedCommands
.
כדי לראות את הפקודות במודול Microsoft.PowerShell.Management
, הרץ:
gmo Microsoft.PowerShell.Management | Select-ExpandProperty ExportedCommands
פקודה זו מציגה רשימת פקודות הזמינות במודול.
איתור ספריות מודולים
מודולים לא עובדים כהילה ב־PowerShell – הם קיימים בספריות ספציפיות במערכת שלך, וצריך ש־PowerShell ידע לאיפה למצוא אותם.
כדי להציג את המיקומים של מודולי PowerShell זמינים:
gmo -list
המיקומים הנפוצים כוללים:
- C:\Program Files\PowerShell\7\Modules
- C:\Program Files\WindowsPowerShell\Modules
- C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
אפילו כאשר מריצים PowerShell Core, מודולים מספריות PowerShell של Windows עדיין עשויים להופיע מכיוון ש־PowerShell Core יכול להשתמש בהם.
למודולים יש קטגוריות מוקצות לפי המאפיין PSEdition
, שמציין תאימות:
Core
– בנוי עבור PowerShell Core.שולחן עבודה
– מיועד ל-Windows PowerShell.שני
– תואם לשתי הגרסאות.
ניהול משתנה PSModulePath
PowerShell לא מחפש אוטומטית בכל המערכת שלך עבור מודולים – הוא מתבסס על נתיבים ספציפיים המוגדרים על ידי משתנה הסביבה PSModulePath
. אם מודול אינו נמצא באחד מהנתיבים הללו, PowerShell לא ימצא אותו, גם אם המערכת/אתה התקנת אותו במקום אחר.
כדי לצפות במשתנה הסביבה PSModulePath
:
$env:PSModulePath
המשתנה מכיל רשימה מופרדת בנקודותיים של תיקיות.
כדי להקל על הקריאה, פרק אותו למערך:
$env:PSModulePath -split ';'
PowerShell מחפש מודולים ב:
- תיקיות ברמת משתמש (למשל, תיק המסמכים של פרופיל המשתמש שלך).
- תיקיות משותפות בתיקי תוכנה.
- תיקיות ברמת מערכת, כגון C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules.
אתה יכול גם להוסיף תיקיות מותאמות אישית לנתיב החיפוש:
$env:PSModulePath + ';C:\MyNewModulePath' $env:PSModulePath
שינוי זה חל על הסשן הנוכחי, מכוון את PowerShell לחפש מודולים בנתיב שנבחר.
סיכום
במאמר זה, חקרת כיצד לגלות מודולים זמינים, לצפות בגרסאות שלהם, לבדוק את הפקודות שלהם ול locate את תיקי האחסון שלהם. גם למדת כיצד לנצל את משתנה הסביבה PSModulePath
כדי להתאים אישית היכן ש-PowerShell מחפש מודולים.
מיומנויות בסיסיות אלו מאפשרות לך לנעול את הפוטנציאל המלא של PowerShell עבור משימות האוטומציה שלך. המשך ליישם את הידע הזה בפרקטיקה. התחל בחקר המודולים שכבר זמינים במערכת שלך וזיהוי המודולים שמתאימים לצרכים הנוכחיים שלך.
עם הבנה מעמיקה יותר של מודולים, תהיה מוכן להתמודד עם אתגרים מורכבים של אוטומציה בביטחון וביעילות!
Source:
https://adamtheautomator.com/powershell-modules-guide/