מדריך התחלה שלך לפקודות מאושרות ב-PowerShell

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

במדריך זה, תלמד אילו פעולות מאושרות יש להשתמש בהם ב- PowerShell דרך סדרת דוגמאות.

תתחיל ישר ותגבר על התסריט שלך של PowerShell!

דרישות מוקדמות

מדריך זה כולל הדגמות מעשיות. אם ברצונך לעקוב, הקפד להפעיל מערכת עם PowerShell 5.1 או מאוחר יותר. מדריך זה משתמש ב- Windows 11 עם PowerShell 7.

שליפת רשימה של פעולות PowerShell שאושרו

ב- PowerShell, cmdlets הם פקודות קטנות, יחידות, שבוצעות פעולות ספציפיות בסביבת PowerShell.

כל cmdlet ב- PowerShell יש לו שם ייחודי המתחיל בזוג של פעולה-שם, כאשר:

  • חלק הפעולה של השם מתאר את הפעולה שה- cmdlet בוצע. כמה פעולות נפוצות ב- PowerShell הן כדלהלן:
Verb Function
Get Retrieves information.
Set Changes or updates settings.
New Creates something new.
Remove Deletes or removes something.
  • חלק השם מזהה את הישות או האובייקט שעליו לבצע את הפעולה, המטרה לפעול עליה. השם בדרך כלל מתאר את הקטגוריה או הסוג של האובייקט שה- cmdlet פועל עליו, כגון פקודה, תהליך, שירות או קובץ.

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

בצע את הפקודה הבאה Get-Verb כדי לקבל רשימה מלאה של הפעולות המאושרות ב-PowerShell.

Get-Verb

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

Retrieving a complete list of approved verbs

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

Get-Verb re*

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

Narrowing down the list of approved verbs

יצירת משאבים חדשים דרך הפעולה New

בדיוק קיבלת רשימת פעולות מאושרות ב-PowerShell, אך איך משתמשים בפעולות אלה בתסריט שלך או בעת ביצוע פקודות? עליך להוסיף את פעולת ה-New לשם של המשאב שברצונך ליצור (כלומר, משתמש, קובץ, שירות).

אך בדוגמה זו, תיצור משאב חדש, בדיוק משתמש חדש, כך:

בצע את הפקודה הבאה New-LocalUser כדי ליצור משתמש חדש בשם John Smith עם סיסמה (Password123) ולהגדיר שהחשבון לא יפוג (-AccountNeverExpires).

New-LocalUser -Name "John Smith" -AccountNeverExpires -Password (ConvertTo-SecureString -AsPlainText "Password123" -Force
Creating a new resource (user account) via the New verb

איחזור מידע משאב דרך הפועל Get

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

כדי לאחזר מידע על משאב דרך הפועל Get:

הריץ את הפקודה Get-LocalUser למטה כדי לקבל מידע על משתמש מקומי מסוים (John Smith).

Get-LocalUser -Name "John Smith"

למטה, הפלט מראה את חשבון המשתמש John Smith מופעל (פעיל).

Retrieving resource information via the Get verb

שינוי משאבים קיימים דרך הפועל Set

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

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

כדי לשנות משאבים קיימים דרך הפועל Set:

הריץ את הפקודות הבאות כדי להגדיר את ערך $myVariable ל־Hello ולשנות את ערך $myVariable ל־Hello, World!. פקודות אלו לא מספקות פלט, אך תוודא את השינויים בשלב הבא.

# הגדרת משאב משתנה
$myVariable = "Hello"

# שינוי ערך של משאב משתנה קיים
Set-Variable -Name myVariable -Value "Hello, World!"

עכשיו, הרץ את הפקודה Get-Variable למטה כדי לקבל מידע על המשאב שלך ($myVariable).

Get-Variable -Name myVariable

כפי שמוצג למטה, הפלט מציג את שם המשתנה ואת ערכו.

Retrieving information about a resource

הפעלת פעולות או קריאת פקודות באמצעות הפועל Invoke

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

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

כדי לראות כיצד פעולות ההפעלה פועלות דרך הפועל Invoke:

1. הרץ את הפקודה Invoke-Expression הבאה כדי להפעיל את הפקודה Get-Date, שמאפשרת לך לקבל את התאריך והשעה הנוכחיים.

Invoke-Expression -Command "Get-Date"

הפלט למטה מציג ביצוע מוצלח של פקודת Get-Date דרך הפועל Invoke.

Triggering a command via the Invoke verb

2. לבצע את השלב הבא, יש ליצור קובץ סקריפט PowerShell (לדוגמה, InvokeVerbDemo.ps1) בעזרת עורך הקוד המועדף עליך, ולמלא את הקוד הבא.

קוד זה מציג (Write-Host) הודעת ברכה ומפעיל את פקודת ה-Get-Service כדי לרשום את כל השירותים במערכת שלך.

# מציג הודעת ברכה חמה
Write-Host "Welcome to the Invoke Example!"

# מפעיל את פקודת Get-Service
Invoke-Command -ScriptBlock { Get-Service }

3. כעת, יש להריץ את הפקודות הבאות כדי להפעיל (Invoke-Expression) את סקריפט ה-PowerShell שלך (InvokeVerbDemo.ps1). יש להחליף את ערך המשתנה $scriptPath בנתיב הקובץ של הסקריפט שלך.

$scriptPath = "C:\PowerShellScripts\InvokeVerbDemo.ps1"
Invoke-Expression -Command $scriptPath

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

Invoking a script via the Invoke verb

4. במקום פקודות פשוטות, כתבו פונקציה שניתן להשתמש בה מספר פעמים (למשל, Invoke-MyTask) שניתן לקרוא בכל עת, כפי שמוצג למטה. בעצם, פונקציות משפרות את הידידות ואת יכולת השימוש מחדש של סקריפטי PowerShell שלך.

בדוגמה זו, הפונקציה Invoke-MyTask מכלילה פקודות לביצוע הפעולות הבאות כאשר היא מופעלת:

  • מציגה (Write-Host) את המחרוזת Executing MyTask... בקונסולה.
  • משיגה את רשימת כל התהליכים (Get-Process) ובוחרת רק את התכונות Name ו־CPU עבור כל תהליך (Select-Object).
# הגדרת פונקציה מותאמת אישית באמצעות הפעלת הפקודה Invoke
function Invoke-MyTask {
    # המשימה האישית שלך מופיעה כאן
    Write-Host "Executing MyTask..."
    Get-Process | Select-Object Name, CPU
}
Defining a PowerShell function

5. לבסוף, בצעו את הפקודה להפעלת הפונקציה שלך (Invoke-MyTask).

Invoke-Expression -Command Invoke-MyTask

תראה רשימה של כל התהליכים הרצים במערכת שלך עם שמותיהם ושימוש המעבד ב-CPU, כפי שמוצג למטה. אימות משאבים דרך הפקודה Test מקרי פיקוח ועמידות לשגיאות יוצרים סקריפטים עזרים ועמידים באמצעות PowerShell. כלי חזק שנמצא לרשותך למטרה זו הוא הפקודה Test. באמצעות שימוש בפקודה Test, אתה יכול לאמת במהירות אם תנאי נתון מחזיק בערך true או false, מאפשר לך לבצע פעולות שונות בהתבסס על התוצאה. בדוגמה זו, תאמת אם קובץ קיים דרך הפקודה Test. בצע את הקוד הבא כדי לבדוק (Test-Path) האם קובץ קיים (C:\MyFolder\example.txt) בנתיב המסוים $filePath המצויין, והדפס הודעה התואמת לתוצאה.

Invoking a function

 # הגדר נתיב לקובץ. 
$filePath = "C:\MyFolder\example.txt"

 # בדוק האם הקובץ קיים, והדפס הודעה התואמת לתוצאה 
if (Test-Path $filePath) {
    Write-Host "The file exists at $filePath."
}
else {
    Write-Host "The file does not exist at $filePath."
}
Validating a resource via the Test verb

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

המדריך הזה הוא רק ההתחלה של המסע שלך להפוך למשתמש PowerShell מיומן. למה לא ללמוד פעולות אחרות מאושרות, כמו פעולות של עיבוד נתונים (כלומר, ייצוא, יבוא, מיון) ופעולות של מחזור חיים (כלומר, התחלה, עצירה)? תעלה את המיומנויות שלך ב-PowerShell לרמה הבאה עוד היום!

Source:
https://adamtheautomator.com/powershell-approved-verbs/