אם אתה חדש בשפת התסריט PowerShell ורוצה ללמוד איך להריץ תסריט PowerShell, הגעת לפוסט הבלוג הנכון. בפוסט הזה תמצא הדרכה שתכסה דרכים נפוצות להריץ תסריטים וכמה בעיות שעלולות להתעורר.
דרישות מראש
מאמר זה יהיה הדרכה עבורך על איך להריץ PowerShell על המחשב המקומי שלך. אם ברצונך להתקדם, נא לוודא שיש לך את הדרישות הבאות לפני שמתחילים את המאמר הזה.
- A Windows 10 computer with Administrator privileges.
- Windows גרסת PowerShell 5 או גבוהה יותר. באפשרותך גם להשתמש ב- PowerShell v7. ההדרכה הזו תתמקד ב-Windows PowerShell מאחר ומערכת ההפעלה של Windows כבר כוללת אותה.
- עורך קבצי טקסט כלשהו
התמודדות עם מדיניות ההרצה
אם זה הפעם הראשונה שאתה מנסה להריץ תסריט PowerShell של Windows, ייתכן ותתקל בבעיה נפוצה. ייתכן ו-PowerShell יחזיר הודעת שגיאה שאומרת שתסריט "לא ניתן לטעון מאחר שהרצת תסריטים מושבתת במערכת זו".
PowerShell מחזיר את הודעת השגיאה למעלה כאשר אתה מנסה להפעיל PowerShell עם מדיניות ביצוע שמוגדרת להיות Restricted, Remote Signed או All Signed.
Restricted
Restricted היא המדיניות ברירת המחדל למחשבי Windows. אם אתה משתמש ב-PowerShell לפעם הראשונה, כנראה שהמדיניות הברירת מחדל שלך תהיה מוגדרת להגביל את כל הסקריפטים.
עדיין תוכל לבצע פקודות יחידות בטרמינל, אך לא קובץ סקריפט. ההגבלה כוללת כל קובץ שמסתיים ב־.ps1xml
, .psm1
או .ps1
.
Unrestricted
Unrestricted מאפשרת לך להפעיל כל סקריפט, אך היא מזהירה לפני ביצוע אם הסקריפט נורה מהאינטרנט. כלל זה הוא כמעט תמיד המוגדר כברירת מחדל להתקנים שאינם מבוססי Windows.
Remote Signed
מדיניות Remote Signed מאפשרת לך להפעיל כל סקריפט שהוא או (א) חתום דיגיטלית או (ב) סקריפט שנכתב על מחשבך המקומי עם או בלעדי חתימה.
אם סקריפט נורה מהאינטרנט ואינו חתום, עליך לבצע פעולה של פתיחת הקובץ. ניתן לעשות זאת על ידי לחיצה ימנית על הקובץ ובחירת מאפיינים. או, ניתן להשתמש בפקודה של PowerShell בשם Unblock-File
לאותו קובץ סקריפט מסויים.
שימוש במדיניות Remote Signed הוא אפשרות אידיאלית כאשר אתה מפעיל סקריפט שנורה מהאינטרנט.
All Signed
במדיניות All Signed נדרש שכל הסקריפטים יהיו חתומים דיגיטלית על ידי מו"מ מהימין. זה כולל גם את הסקריפטים הנורים מהאינטרנט והנכתבים מקומית על המחשב שלך.
שינוי מדיניות הביצוע ב-PowerShell
כדי לשנות את מדיניות הביצוע:
- פתח את Windows PowerShell כמנהלהפעל כמנהל כך שתוודא שיש לך הרשאות גבוהות ביותר לביצוע שינויים במדיניות.

2. כאשר הפתח, הפעל את הפקודה של PowerShell הבאה כדי להגדיר את מדיניות הביצוע של המחשב שלך. מדיניות הביצוע, כפי שנדבך לעיל, יכולה להיות אחת משלושה סוגים שונים. במדריך זה, אנו משתמשים במדיניות ביצוע שימושית ובטוחה עדיין של RemoteSigned.
מכיוון שהמדריך מניח שהורדת מהאינטרנט את קובץ הסקריפט GetServices.ps1, הגדר את מדיניות הביצוע ל RemoteSigned.
מדיניות הביצוע RemoteSigned דורשת ממך ל חתום באמצעות יישות הסימון הקריפטוגרפית על כל סקריפט PowerShell המורדף מהאינטרנט לפני ש-PowerShell יפעיל אותו במערכת שלך.
3. אתה אמור לראות פלט המבקש אישור לפעולה. הזן Y ולחץ Enter כדי לאשר את שינוי מדיניות הביצוע.
בנקודה זו, עקוב אחרי השלבים הבאים לחקור שיטות שונות להפעלת סקריפט PowerShell במחשב שלך.
איך להפעיל סקריפט PowerShell
להציג את הרצת קובץ סקריפט PowerShell, יש לך בפועל צורך בקובץ סקריפט להפעלה! אם אין לך קובץ כזה ליד, הורד את קובץ ה-ZIP הזה וחלץ את קובץ ה-PS1 מתוכו. תמצא שם קובץ סקריפט פשוט בשם GetServices.ps1.
כל קובץ סקריפט PowerShell צריך לסיים בסיומת
.ps1
.
שימוש בקונסולה
כשיש לך סקריפט מוכן, ישנם כמה דרכים שונות להפעיל קובץ סקריפט PowerShell. אחת מהדרכים הנפוצות היא דרך קונסולת ה-PowerShell.
כדי לעשות זאת:
- פתח את קונסולת ה-PowerShell כפי שמוצג למעלה.
2. נווט למיקום במערכת הקבצים שבו נמצא הסקריפט שלך באמצעות פקודת ה-PowerShell Set-Location
או השם הקצר cd
. הסקריפט בהדרכה נמצא בתיקייה C:\Temp.
3. הפעל את הסקריפט באמצעות הסימן נקודה (.
). PowerShell הוא מעטפת שגם מחפשת אחר שמות פקודות. כדי להבחין בין פקודת PowerShell ובין סקריפט, עליך לשים קדימה לסקריפט עם נקודה. נקודה זו מייצגת את התיקייה הנוכחית.
איך להפעיל סקריפט PowerShell מהשורת פקודה דרך מיקום ה-PowerShell
אם אין לך אפשרות או אם אתה מעדיף שלא להפעיל סקריפטים דרך קונסולת ה-PowerShell, יש אפשרות גם לעשות זאת דרך שורת הפקודה (command prompt).
להריץ סקריפטים דרך מסוף הפקודה, עליך תחילה להפעיל את קובץ ה־PowerShell (powershell.exe), עם מיקום ה־PowerShell של C:\Program Files\WindowsPowerShell\powershell.exe
ולאחר מכן להעביר את נתיב הסקריפט כפרמטר אליו.
באפשרותך להריץ סקריפטים עם פרמטרים בכל קשר על ידי פשוט לציין אותם בעת הפעלת קובץ ה־PowerShell באופן הבא:
powershell.exe -Parameter 'Foo' -Parameter2 'Bar'
.
לאחר שאתה פותח את cmd.exe, ניתן לבצע סקריפט של PowerShell כמצויין למטה. בדוגמה זו נפעיל את המנוע ונעביר לו את נתיב הסקריפט של C:\Temp\GetServices.ps1.
שים לב שבדוגמה למעלה משתמשים בנתיב המיקום של PowerShell כדי להריץ את הסקריפט. עליך לעשות זאת אם התיקייה לא נמצאת במיקום PATH שלך במקום כלשהו.
המיקום של PowerShell ל־PowerShell 7 משתמש בקובץ ה־executable השונה בשם pwsh.exe שבדרך כלל נמצא במיקום C:\Program Files\PowerShell\7\pwsh.exe.
למטה יש סרטון ב־YouTube שיכול לעזור בביצוע סקריפט דרך קובץ batch אותו cmd.exe מפעיל.
שימוש ב־PowerShell ISE
אם אתה יוצר סקריפטים משלך או עורך סקריפטים של אחרים, כנראה שתשתמש בעורך סקריפטים כמו PowerShell ISE או אולי Visual Studio (VS) Code. מאחר שה־ISE כלול בחלונות, נרכז בשיטה זו לצורך המדריך הזה.
להפעיל סקריפט דרך ISE:
- נווט לתפריט ההתחלה, חפש את PowerShell ISE ופתח אותו.

2. לחץ על קובץ → פתח ומצא את הסקריפט שלך.

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

פלט של סקריפט הדוגמא
A PowerShell script can sometimes return output. This happens when the script you’re executing is built to return objects which is a fundamental component of PowerShell.
אם תפעיל את סקריפט הדוגמא GetServices.ps1, תראה את התוצאה הבאה. סקריפט זה מפעיל את הפקודה Get-Service
שמחזירה את כל השירותים שמותקנים במחשב Windows המקומי שלך.
הרצת סקריפט PowerShell מתוך סקריפט אחר
נניח שיש לך שני סקריפטים ותרצה שאחד יקרא לשני. אולי יש לך סקריפט בשם GetUser.ps1 ואחד בשם ResetPassword.ps1. בתוך סקריפט ה-GetUser.ps1, תרצה לבצע את ResetPassword.ps1 כדי לאפס סיסמת משתמש.
בתוך סקריפט הקריאה (GetUser.ps1), עליך להוסיף שורה לביצוע הסקריפט האחר די כמו שתקרא לסקריפט מהשורת פקודה.
אפשר לראות למטה שיש לך מספר אפשרויות. כדאי לבחור לרוץ בסקריפט השני באותה ישיבה או טווח כדי לפשט את התהליך, אלא אם יש לך סיבה מסוימת להפעיל את הסקריפט בשולי PowerShell אחר.