הנה כיצד להפיק את המרב מ-Windows PowerShell על ידי הפעלת מדיניות ביצוע הסקריפט.

iPowerShell, כברירת מחדל, מאפשר לך להריץ פקודות (cmdlets) דרך המסוף שלה. כדי להפעיל סקריפט, אתה יכול ליצור קובץ פנקס רשימות עם קוד הסקריפט, לשמור אותו עם סיומת קובץ .ps1 ולהפעיל אותו דרך מסוף PowerShell. אתה יכול גם להדביק ישירות את הסקריפט על המסוף לביצוע.

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

כיצד לבדוק את מדיניות הביצוע הקיימת שלך

אתה יכול להשתמש ב-cmdlet של PowerShell כדי לקבל את מדיניות הביצוע הנוכחית שלך. הכרת מדיניות הביצוע הנוכחית שלך היא הכרחית כדי לדעת אם אתה זקוק לשינוי מדיניות או לא.

כדי לקבל את מדיניות הביצוע הנוכחית שלך עבור המשתמש הנוכחי:

  1. פתח את Windows PowerShell כמנהל.
  2. הקלד את הפקודה הבאה במסוף PowerShell ולחץ על Enter:
    לקבל-מדיניות ביצוע
  3. מכיוון שנתקלת בשגיאה בעת ביצוע הסקריפט, סביר להניח שהחזרה תופיע מוגבל כמדיניות הביצוע הנוכחית שלך.
  4. instagram viewer
  5. אם אתה צריך להציג את מדיניות הביצוע עבור כל ההיקפים הנתמכים:
    לקבל-מדיניות ביצוע -רשימה

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

כיצד להפעיל את מדיניות הביצוע של PowerShell באמצעות אפליקציית ההגדרות

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

כדי לשנות את מדיניות הביצוע באמצעות הגדרות:

  1. ללחוץ Win + I כדי לפתוח את Seטדברים.
  2. פתח את ה פרטיות ואבטחה לשונית בחלונית השמאלית.
  3. לאחר מכן, לחץ על למפתחים.
  4. לחץ כדי להרחיב את פגז כוח סָעִיף.
  5. העבר את המתג ל שנה את מדיניות הביצוע כדי לאפשר לסקריפטים מקומיים של PowerShell לפעול ללא חתימה - דרוש חתימה עבור סקריפטים מרוחקים.
  6. לאחר שתסיים, פתח את PowerShell, הקלד get מדיניות ביצוע, ולחץ להיכנס. מדיניות הביצוע עבור המשתמש הנוכחי מוגדרת כעת RemoteSigned.
  7. אם עליך להשבית את מדיניות הביצוע, החלף את מתג PowerShell והגדר אותו ל כבוי.

כיצד לאפשר לסקריפטים לפעול ב- PowerShell באמצעות PowerShell

אתה יכול להשתמש ב- a PowerShell cmdlet כדי להגדיר את מדיניות הביצוע ל-RemoteSigned. ממשק שורת הפקודה מקל על שינוי מדיניות ביצוע במהירות מבלי להשתמש באפליקציית ההגדרות.

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

כדי לשנות את מדיניות הביצוע באמצעות PowerShell:

  1. פתח את PowerShell כמנהל.
  2. בחלון PowerShell, הקלד את הפקודה הבאה ולחץ להיכנס:
    מַעֲרֶכֶת-ExecutionPolicy RemoteSigned
  3. אם תתבקש, לחץ א כדי לאשר את הפעולה. זה יגדיר את RemoteSigned מדיניות ביצוע עבור כל המשתמשים. אם ברצונך להגדיר את מדיניות הביצוע עבור משתמש נוכחי בלבד, השתמש בפרמטר Scope ואחריו שם המשתמש.
  4. לדוגמה, כדי להגדיר את RemoteSigned מדיניות ביצוע עבור משתמש נוכחי, השתמש בפקודה הבאה:
    מַעֲרֶכֶת-ExecutionPolicy RemoteSgined -תְחוּם משתמש נוכחי
  5. החלף משתמש נוכחי בפקודה לעיל עם משתמשים אחרים (Scope) לפי הדרישה שלך.

כיצד להסיר מדיניות ביצוע סקריפט באמצעות PowerShell

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

כדי להשבית את ביצוע הסקריפט באמצעות PowerShell:

  1. פתח את PowerShell עם הרשאה מוגברת.
  2. לאחר מכן, הקלד את הפקודה הבאה והקש אנטר כדי להשבית את ביצוע הסקריפט עבור כל המשתמשים:
    מַעֲרֶכֶת-מדיניות ביצוע לא מוגדר
  3. הפקודה לעיל תגדיר את ברירת המחדל של מדיניות הביצוע (לא מוגדרת) עבור כל המשתמשים. אם ברצונך להשבית את ביצוע הסקריפט עבור היקף מסוים, השתמש בפקודה הבאה:
    מַעֲרֶכֶת-מדיניות ביצוע לא מוגדר -Scope CurrentUser
  4. הפקודה לעיל תשבית את ביצוע הסקריפט עבור משתמש נוכחי.

הבנת מדיניות והיקפי ביצוע

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

הטבלה שלהלן מסבירה בקצרה את כל מדיניות הביצוע של PowerShell:

מדיניות ביצוע

אַכִיפָה

בְּרִירַת מֶחדָל

מגדיר את מדיניות הביצוע המוגדרת כברירת מחדל כמוגבלת ב-Windows Client ו-RemoteSigned ב-Windows Server.

AllSigned

מאפשר ביצוע של סקריפטים חתומים על ידי בעל אתר.

לַעֲקוֹף

ביצוע בלתי מוגבל של סקריפטים עבור יישומים גדולים יותר.

RemoteSigned

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

מוגבל

אינו מאפשר ביצוע סקריפט, אלא רק פקודות PowerShell בודדות.

לא מוגדר

מגדיר את מדיניות הביצוע למוגבל עבור לקוחות Windows ו-RemoteSigned עבור Windows Server.

ללא הגבלה

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

היקף מדיניות ביצוע

אתה יכול להגדיר מדיניות ביצוע עבור היקף מסוים ב- PowerShell. חמשת היקפי מדיניות הביצוע הם MachinePolicy, UserPolicy, Process, CurrentUser, ו LocalMachine.

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

היקף מדיניות ביצוע

אַכִיפָה

מדיניות משתמש

מוגדר על ידי מדיניות קבוצתית עבור המשתמש הנוכחי.

מדיניות מכונה

מוגדר על ידי מדיניות קבוצתית עבור כל המשתמשים.

CurrenUser

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

LocalMachine

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

תהליך

משפיע על הפעלת PowerShell הנוכחית ונמחק אוטומטית כאשר ההפעלה נסגרת.

הוספה או הסרה של מדיניות ביצוע סקריפט PowerShell ב-Windows

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

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