האם ניסית לכתוב קוד PowerShell ונתקעת בו מתייבש? אל תדאג עוד! אחת מהדרכים הטובות ביותר להיות מיומן ב־PowerShell היא על ידי הבנת היסודות. לדעת מספר פקודות בסיסיות של PowerShell עשויות להפוך אותך למומחה, ותוכל לאוטומטיית משימות מנהלות יותר ביעילות.
במדריך זה, תלמד את ה־cmdlets הבסיסיים של PowerShell שעליך לדעת כדי להפוך את חוויית ה־PowerShell שלך למעניינת יותר.
דרישות מוקדמות
המדריך הזה יהיה הדגמה מעשית, אך אין לו הרבה דרישות מוקדמות. אם ברצונך להמשיך וללמוד, כל מערכת (Windows או Linux) עם PowerShell 5.1 או גרסה מעליה יעבוד. אם כי הפקודות מוצגות באמצעות Windows PowerShell, הדוגמאות למטה עובדות ב־PowerShell 7+ שפות-קרוס.
לקבלת מידע עזרה על פקודות עם Get-Help
האם כתבת קוד כמו בוס בלי לקבל עזרה מקודמת? טוב, תמיד תהיה צורך בעזרה בעת כתיבת קוד. בין אם אתה מפעיל קוד או פקודות בסביבת שורת הפקודה, ה־cmdlet Get-Help מגיע לידי עזרה. Get-Help
יש בו יד.
בואו נתחיל את המדריך הזה על ידי למידה על איך ה־cmdlet Get-Help עובד.
הפקודה Get-Help
מספקת לך את המדריכים הנחוצים לשימוש בכל פקודה באופן יעיל מבלי לקבל שגיאות. ראה אותה כמסמך תיעוד עבור כל אחת מפקודות הפוורשל.
פתח פוורשל בתור מנהל מערכת, והרץ את הפקודה Get-Help
למטה כדי להציג מידע מפורט (-Detailed
) אודות פקודה, כמו פקודת ה-Get-ExecutionPolicy
.

במקום מידע מפורט בלבד, אולי ברצונך להציג את כל המידע אודות פקודה. אם כן, הוסף את הפרמטר -Full
בפקודת Get-Help
.
הרץ את הקוד למטה כדי לקבל את כל המידע המלא (-Full
) אודות הפקודה Get-Help
עצמה.

אולי עדיין תרצה דוגמאות נוספות כדי למנוע שגיאות בעת הרצת הפקודה. במקרה כזה, הוסף את הפרמטר -Examples
כדי לראות דוגמאות לכתיבת פקודה.
הרץ את הפקודה Get-Help
למטה כדי לקבל דוגמאות (-Examples
) לאופן בו ניתן להשתמש בפקודת Get-Process
.

שליפת תהליכי מחשב עם Get-Process
אתה זוכר את מanager משימות ב- Windows שמציג את כל התהליכים, השירותים, היישומים וכל זה? טוב! ה-cmdlet של Get-Process
הוא cmdlet בסיסי אך חיוני שנותן לך גישה לכל התהליכים במחשב שלך בכמה צעדים מבלי לפתוח את מנהל המשימות.
הרץ את הפקודה הבאה כדי לקבל רשימה של כל תהליכי המערכת בפורמט טבלה.

כאשר תהליך מקפא וגורם למחשב שלך לעבוד איטית, עצור את התהליך על ידי שימוש ב-piping מ-cmdlet
Get-Process
ל-cmdletStop-Process
. לדוגמה: הרץGet-Process -Id 1252 | Stop-Process
, כאשר-Id 1252
מציין את מזהה התהליך של התהליך שברצונך לעצור.
משיכת היסטוריית סשן של PowerShell עם Get-History
יתכן ויהיה צורך לבדוק את הפקודות האחרונות שלך, כגון לוודא אם הפקודה שביצעת לאחרונה היא נכונה או אם בכלל ביצעת פקודה. אך האם PowerShell תומך בהיסטוריה של פקודות? כן! פקודת Get-History
מחזירה אובייקט של כל הפקודות האחרונות שלך בסשן הנוכחי של PowerShell שלך.
הפעל את הפקודה למטה כדי לקבל רשימה של כל הפקודות שביצעת לאחרונה בסשן הנוכחי שלך.

אם תעדיף לראות פקודות ספציפיות מההיסטוריה, הוסף את הפרמטר
-Id
ואז את מספר הזיהוי של הפקודה מההיסטוריה. לדוגמא, הפעלGet-History -Id 2
כדי לראות את הפקודה השנייה בהיסטוריה.
הצגת שירותי המערכת עם Get-Service
כמו פקודת Get-Process
, PowerShell מאפשרת גם לך לראות את כל השירותים הרצים במערכת שלך. פקודת Get-Service
מאפשרת לך לראות את כל השירותים, שיכולים להיות שרתי מסד נתונים או יישום שבאופן אוטומטי שולט בבהירות של מסך המחשב שלך.
הפעל את הפקודה למטה כדי לקבל רשימה של כל השירותים במערכת שלך בפורמט טבלה. עם הפקודה הזו, תוכל לראות גם שירותים שנעצרו.

אולי אתה מחפש שירותים שמתחילים בתו מסוים. אם כן, הוספת תו כללי (*) יעשה את העבודה.
הרץ את הפקודה Get-Service
למטה, עבור על האות הראשונה והאסטריסק (A*
) של השירותים שאתה רוצה לראות. הוספת התו הכללי מאפשר לך לסנן את כל השירותים שאינם מתחילים באות 'A'.

הרץ עבור רקע עם Start-Job
כתיבת קודים יכולה להיות מעצבנת אם יש עוד הרבה לכתוב, אך פקודה יחידה לוקחת לנצח לכתוב. אין בעיה! PowerShell מספק cmdlet להפעלת עבודות רקע בהפעלה שלך. ה-cmdlet Start-Job
מספק סביבת PowerShell להפעלת קוד או פקודות כעבודה רקע ללא אינטראקציה ממשתמש.
הרץ את הפקודה Start-Job
למטה כדי להתחיל עבודה רקע עבור ה-cmdlet Get-Command
. הפעלת עבודה רקע מפעילה את ה-cmdlet Get-Command
בלעדי לתצוגה של הפלט בשורת הפקודה שלך.

מאחר שאתה עסוק בעבודות רקע, איך ניתן לבדוק אם עבודה עדיין רצה או הושלמה? הרץ את ה-cmdlet
Get-Job
כדי לקבל את כל העבודות בהפעלה שלך.
שינוי ספריות עבודה עם Set-Location
ישנם רגעים בהם עליך לשנות ספריות, כגון בעת הרצת סקריפט או תוכנית ממיקום מסוים. אבל איך משנים ספריות? השתמש בפקודת ה-Set-Location
כדי לעזור לך בכך. הפקודה Set-Location
מגדירה את ספריית העבודה הנוכחית לספרייה שאתה מציין בפקודה.
הרץ את הקוד למטה כדי להגדיר את ספריית העבודה הנוכחית ל-C:\Users\hp\Desktop. החלף את hp
בשם המשתמש של המחשב שלך.
למטה, תוכל לראות במודע ש-C:\Users\hp\Desktop כעת היא ספריית העבודה.

אימות אם נתיבים קיימים על ידי Test-Path
PowerShell עשוי להציג באג אם אתה מנסה לגשת לקובץ שלא קיים. כיצד למנוע את זה? פקודת ה-Test-Path
מאפשרת לך לבדוק אם נתיב קיים או לא, בסינטקס אינטואיטיבי שלה.
כעת, צור תיקייה על השולחן, תתן לה את השם NewFolder.
הרץ את הפקודה Test-Path
למטה, ואז הכנס את הנתיב שברצונך לבדוק. לדוגמה, הפקודה בדוגמה זו בודקת אם הנתיב C:\Users\hp\Desktop\NewFolder קיים.
למטה, ניתן לראות שהפקודה החזרה ערך True מאחר והנתיב קיים. במקרה אחר, תקבל פלט של False.

המרת אובייקט PowerShell ל-HTML עם ConvertTo-HTML
אם אתה מעדיף טפס מאורגן עבור הנתונים שלך, המר את הנתונים שלך ל-HTML עם הפקודה ConvertTo-Html
. בעיקר, הפקודה מקבלת את קובץ הפלט שברצונך להמיר ואת שם הקובץ שברצונך לשמור אותו עליו.
הריץ את הפקודה למטה כדי לאסוף את רשימת כל פקודות ה-PowerShell (Get-Command
) בזיכרון ולהמיר (ConvertTo-Html
) את הרשימה לקובץ HTML בשם Command.html
.
קובץ ה-HTML נשמר בשולחן העבודה שלך מאחר ושינית את תיקיית העבודה לפני כן. כדי לשמור את קובץ ה-HTML במיקום אחר במקום זה, ציין את הנתיב המלא. לדוגמה:
Get-Command | ConvertTo-HTML > C:\Temp\Commands.html
יצוא אובייקטים של PowerShell ל-CSV עם Export-CSV
אם אתה חושב שדיווח ב־CSV היה יותר טוב במקום HTML, אז השתמש ב־Export-CSV
cmdlet. דומה ל־ConvertTo-Html
cmdlet, ה־Export-CSV
cmdlet מאפשר לך לייצא נתונים לקובץ CSV.
הריץ את הפקודה להצגת רשימת פקודות PowerShell (Get-Command
), וייצא את הרשימה כקובץ CSV (Export-CSV
) בשם Commands.csv
.
כמו ב־ConvertTo-Html cmdlet, אפשר גם לציין נתיב ייצוא עבור קובץ ה־CSV כך:
Get-Command | Export-CSV C:\Temp\Commands.csv
פתח את קובץ ה־Commands.csv, ותראה משהו דומה למה שבתמונה למטה. לא רע, נכון?

צפייה בכל פקודות PowerShell הזמינות עם Get-Command
הפקודה האחרונה ברשימת הפקודות של PowerShell היא ה־Get-Command
cmdlet. ה־Get-Command
cmdlet בסך הכול מפרט את כל פקודות ה־PowerShell הזמינות שאפשר להריץ בפורמט של טבלה. אבל כפי שראית בדוגמאות הקודמות, אתה יודע שזה לא רק מה ש־Get-Command
יכול לעשות.
אולי תרצה לרשום את ה-cmdlets או את הסימונים באופן ברירת מחדל. אם כן, הוסף את הפרמטר -CommandType
ל-cmdlet Get-Command
כדי לסנן את הפלט לפי סוג הפקודה שאתה מגדיר. ערך הפרמטר -CommandType
יכול להיות Alias
, Cmdlet
, או Function
.
הפעל את הפקודה Get-Command
למטה כדי לרשום רק cmdlets (-CommandType Cmdlet
) עם שמות שמתחילים באות 'G' (-Name G*
).

דרך נוספת לסנן את הפלט של Get-Command
היא על ידי הפקתו ל-cmdlet Select-Object
. כפי שאתה יודע, האובייקט שמוחזר על ידי ה-cmdlet Get-Command
הוא בתבנית טבלה. בטבלה זו, שמות העמודות מייצגים את התכונות שניתן לבחור מהאובייקט.
הרץ את הפקודה Get-Command
למטה כדי לאסוף רשימה של כל הפקודות של PowerShell ולסנן את התצוגה כך שתציג את תכונת ההגדרה של כל פקודה (Select-Object -Property Definition
).

מסקנה
מדריך זה סיפק לך מדריך מקיף על איך להריץ פקודות בסיסיות של PowerShell. כעת, אתה צריך לדעת כיצד להשתמש בצינורות ולהריץ פקודות ולהימנע מלהיתקע בקוד בכל עת.
כעת, איך היית ממשיך מהידע החדש שלך? אולי ללמוד כיצד לכתוב פקודות ב-PowerShell בקובץ תסריטים מרובות שורות בלי לערבב דברים?
Source:
https://adamtheautomator.com/basic-powershell-commands/