תיקון שגיאה בהפעלת סקריפטים של PowerShell ב-Windows 11: מדריך מעודכן ומלא

עדכון אחרון: 06/06/2025
מְחַבֵּר: אלברטו נבארו

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

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

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

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

שגיאה בהפעלת סקריפט PowerShell ב-Windows 11-9

הודעת השגיאה הקלאסית עשויה להשתנות מעט, אבל כמעט תמיד כתוב שם משהו כמו: No se puede cargar el archivo <ruta_del_script> porque la ejecución de scripts está deshabilitada en este sistema. אזהרה זו אינה אומרת שיש לך וירוס או ש-Windows שלך פגום.הסיבה טמונה באופן שבו מדיניות האבטחה של PowerShell מוגדרות.

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

תוכן בלעדי - לחץ כאן  איך לשנות את הרקע שלי ב-Teams

חלק מהודעות השגיאה הנפוצות ביותר הן:

  • לא ניתן לטעון את הקובץ C:\my_script.ps1. ביצוע הסקריפט מושבת במערכת זו. ראה "Get-Help about_signing" למידע נוסף.
  • לא ניתן לטעון את הקובץ מכיוון שריצת סקריפט מושבתת במערכת זו. למידע נוסף, ראה about_Execution_Policies.
  • הקובץ C:\my_script.ps1 אינו חתום דיגיטלית. הסקריפט לא יפעל במערכת.

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

מהן מדיניות הביצוע של PowerShell ומדוע הן חשובות?

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

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

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

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

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

כיצד לזהות את מדיניות הביצוע הנוכחית ב-Windows 11?

לפני שמשנים משהו, מומלץ לדעת איזו מדיניות פעילה אצלכם.כדי לאמת זאת:

  • פתח את PowerShellניתן לעשות זאת מתפריט התחל על ידי חיפוש "PowerShell". אם עליך לבצע שינויים, תעשה את זה כמנהל.
  • הקלד את הפקודה הבאה:
    Get-ExecutionPolicy -List

פעולה זו תציג רשימה של מדיניות המיושמות בתחומים שונים (משתמש, מערכת מקומית, תהליך וכו'). בדרך כלל תראה "מוגבל" כמדיניות פעילה. ברוב המקרים.

תוכן בלעדי - לחץ כאן  תוכנית להמרת PDF ל-Word

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

הפעלת ביצוע סקריפטים ב-PowerShell

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

שינוי מדיניות ביצוע באופן זמני (ההפעלה הנוכחית)

אם אתם צריכים להריץ סקריפט פעם אחת בלבד ואינכם רוצים שהשינוי יהיה קבוע, תוכלו לעשות זאת כך:

  1. פתח את PowerShell כמנהל.
  2. לְבַצֵעַ:
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted

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

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

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

  • עבור המשתמש הנוכחי:
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
  • כלל המערכת (דורש הרשאות מנהל):
    Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned

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

שנה את מדיניות הביצוע מהגדרות Windows 11

אלטרנטיבה פחות טכנית היא גישה לאפשרויות המערכת:

  1. פתח את הגדרות Windows 11 (ניתן להקיש על ניצחון + אני).
  2. עבור אל פרטיות ואבטחה > למפתחים.
  3. חפש את הקטע PowerShell.
  4. מאפשר את האפשרות להריץ סקריפטים מקומיים לא חתומים ודורש חתימה רק עבור סקריפטים מרוחקים.

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

טעויות נפוצות והמלצות בטיחות

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

  • אין להוריד או להפעיל סקריפטים ממקורות לא ידועים.אפילו עם מדיניות פחות מגבילה, הישארו זהירים.
  • לְהִשְׁתַמֵשׁ חתימה מרחוק בכל עת שניתן.
  • לאחר הפעלת הסקריפט הדרוש, משחזר את המדיניות הקודמת (לדוגמה, באמצעות Set-ExecutionPolicy Restricted).
  • בסביבות עסקיות או בעת טיפול בסקריפטים קריטיים, בחר באפשרות AllSigned או התייעץ עם מנהל המערכת שלך..
תוכן בלעדי - לחץ כאן  איך לשתף וידאו עם אודיו בזום

מקרים מיוחדים: PowerShell, Azure וגירסאות לא תואמות

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

  • המודול הקלאסי של Azure Active Directory עובד רק עם PowerShell 3 עד 5.1עבור גרסאות מתקדמות יותר, אנא חפשו גרסאות חלופיות או מעודכנות של המודול.
  • זכרו תמיד להפעיל מודולים הדורשים ניהול כגון מְנַהֵל כדי למנוע אישורים לא מספקים.

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

פתרון בעיות נוסף ומשאבים מועילים

טריקים מתקדמים של PowerShell-4

לעיתים, אפילו לאחר יישום הפקודות הנ"ל, עדיין עלולות להתרחש קריסות.במקרה כזה:

  • בדוק אם יש האנטי-וירוס או מדיניות החברה מונעים שינויים.
  • אם השגיאה מתרחשת רק עם סקריפטים שהורדו, בדוק את מאפייני הקובץ ובטל את הנעילה שלו (קליק ימני > מאפיינים > פתיחה).
  • בדוק את עזרה רשמית של מיקרוסופט ופורומים ייעודיים אם מדובר בסביבה תאגידית עם מדיניות מגבילה משלה.

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

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

טריקים מתקדמים של PowerShell-0
מאמר קשור:
טריקים מתקדמים של PowerShell למנהלי מערכת