לפעמים Windows ימנע ממך את PowerShell, תוך ציטוט של אפשרות שמבטלת הפעלת סקריפטים. הנה איך לתקן את זה.
אתה מפעיל כמה פקודות ב-PowerShell ולפתע רואה הודעת שגיאה שקוראת: "לא ניתן לטעון את PowerShell כי הפעלת סקריפטים מושבתת במערכת זו."
תוהה מה גורם לבעיה זו וכיצד ניתן לפתור אותה? אנו ניקח אותך דרך השיטות הקלות שיכולות לעזור לך להתמודד עם בעיה זו אחת ולתמיד.
בואו לצלול פנימה!
1. הפעל את PowerShell במצב Administrator
האם אתה מפעיל כרגע את PowerShell ללא זכויות ניהול מתאימות? אם כן, אז אולי שם טמונה הבעיה.
אז, בוא נחקור את השלבים שאתה צריך ליישם כדי להפעיל את הכלי במצב מנהל:
- ללחוץ Win + X כדי לפתוח את תפריט הגישה המהירה.
- בחר את Windows PowerShell (מנהל מערכת) אוֹפְּצִיָה.
ואם זה לא עוזר, בדוק הדרכים השונות לפתיחת Windows PowerShell. אבל עליך להתמקד רק בשיטות שמראות לך כיצד להפעיל את הכלי עם הרשאות ניהול.
2. שנה את מדיניות הביצוע ב- PowerShell
במקרים מסוימים, שינוי מדיניות הביצוע עשוי לעזור. אבל לפני שנחקור את הפתרונות, תחילה ניקח אותך מהי מדיניות הביצוע וכיצד היא פועלת.
מהי מדיניות הביצוע וכיצד היא פועלת?
מדיניות הביצוע היא תכונת אבטחה השולטת באופן שבו אתה מפעיל סקריפטים של PowerShell במכשיר שלך. זה פשוט קובע אילו סוגי סקריפטים ניתן להפעיל ומאילו יש להימנע. החלק הטוב ביותר הוא שאתה יכול להגדיר מדיניות זו לפי טעמך.
להלן האפשרויות שתוכל לבחור מהן בעת הגדרת מדיניות הביצוע:
- מוגבל: מדיניות זו אוסרת עליך להפעיל כל סקריפט של PowerShell.
- ללא הגבלה: מאפשר לך להפעיל כל סקריפט אך מציג לך הודעת אזהרה כאשר אתה מפעיל סקריפטים חשודים.
- RemoteSigned: מדיניות זו דורשת חתימה דיגיטלית כאשר אתה מפעיל את הסקריפטים שהורדת באינטרנט. עם זאת, זה לא דורש חתימה עבור סקריפטים מקומיים.
- לַעֲקוֹף: זה מאפשר לך להריץ כל סקריפט ללא הגבלות כלשהן. בניגוד למדיניות "ללא הגבלה", מדיניות "עקיפה" לא תציג לך הודעות אזהרה כלשהן כאשר אתה מפעיל סקריפטים חשודים. לכן, תמיד החל את המדיניות הזו רק בעת הפעלת סקריפטים חוקיים.
- AllSigned: מדיניות זו מריצה רק סקריפטים שנחתמו על ידי מפרסם מהימן.
כעת, אם אתה משתמש ב-PowerShell באופן קבוע, ייתכן שתרצה לשנות את מדיניות הביצוע מעת לעת. עם זאת, מדיניות הפעלה מסויימת עשויה להציג הודעות שגיאה בעת הפעלת סקריפטים של PowerShell.
לדוגמה, הפעלת המדיניות "מוגבל", "כל חתום" או "חתום מרוחק" עשויה להוביל להודעות שגיאה כמו השגיאה "הפעלת סקריפטים מושבתת".
כדי לפתור את הבעיה, פשוט תצטרך לשנות את מדיניות הביצוע ל"בלתי מוגבל" או "עוקף". אבל זה לא הכל; תצטרך גם להחליט כיצד יש ליישם את המדיניות. לדוגמה, האם ברצונך להחיל את המדיניות עבור כל המשתמשים או רק עבור הפעלת PowerShell הנוכחית שלך?
בואו לחקור את כל הנוספים פקודות PowerShell תצטרך להוסיף בעת שינוי מדיניות הביצוע:
- משתמש נוכחי: מדיניות זו תחול רק על כל הפעלות PowerShell של האדם שנכנס כעת למכשיר.
- LocalMachine: חל על כל המשתמשים שיש להם חשבון במכשיר. מדיניות זו יכולה להיות מוגדרת רק על ידי משתמשים מקומיים בעלי הרשאות ניהול.
- תהליך: חל רק על הפעלת PowerShell הנוכחית. המשמעות היא שתצטרך להפעיל את המדיניות שוב אם תתחיל הפעלה חדשה.
- MachinePolicy: מדיניות זו חלה על כל המשתמשים שיש להם חשבון במכשיר שלך. עם זאת, זה יכול להיות מוגדר רק על ידי מנהלי רשת שיש להם הרשאות מתאימות. אבל לעתים קרובות זה אפשרי עבור מנהלי מערכת מקומיים להגדיר מדיניות ביצוע זו באמצעות עורך המדיניות הקבוצתית המקומית.
- מדיניות משתמש: חל על כל הפעלות PowerShell ועל הסקריפטים המבוצעים על ידי משתמש מסוים.
כעת, כשהכל ברור, בוא נחקור איך אתה יכול להפעיל את המדיניות הרלוונטית כדי להתמודד עם בעיית "PowerShell לא יכול לטעון".
כיצד לשנות את מדיניות הביצוע ל"ללא הגבלה"
הדרך הטובה ביותר להתמודד עם הנושא הנדון היא לשנות את מדיניות הביצוע ל"בלתי מוגבלת". אבל לפני כן, עליך לבדוק כיצד מוגדרת כל מדיניות ביצוע.
להלן השלבים לבדיקת אופן הגדרת מדיניות הביצוע:
- ללחוץ Win + X כדי לפתוח את תפריט הגישה המהירה.
- בחר Windows PowerShell (מנהל מערכת) מהאפשרויות.
- הקלד את הפקודה הבאה ולחץ להיכנס:
Get-ExecutionPolicy -רשימה
זה אמור להראות לך כיצד מדיניות הביצוע מוגדרת עבור משתמשים ומערכות שונות.
כדי לשנות את מדיניות הביצוע ל"בלתי מוגבלת" עבור המשתמש הפעיל הנוכחי, הקלד את הפקודה הבאה ולחץ על להיכנס:
מַעֲרֶכֶת-מדיניות ביצוע בלתי מוגבלת -תְחוּם משתמש נוכחי
כדי לשנות את מדיניות הביצוע ל"בלתי מוגבלת" עבור כל המשתמשים, הקלד את הפקודה הבאה ולחץ להיכנס:
מַעֲרֶכֶת-מדיניות ביצוע בלתי מוגבלת -תְחוּם LocalMachine
כשתסיים להפעיל את הפקודה, סגור את PowerShell והפעל מחדש את המחשב כדי לשמור את השינויים הללו.
כיצד לשנות את מדיניות הביצוע ל"עוקף"
מדיניות הביצוע "ByPass" תאפשר לך להריץ כל סקריפט של PowerShell ללא טרחה. אבל זכור שזה עשוי גם לאפשר לך להפעיל קבצי באגי. לכן, הגדר תמיד את מדיניות הביצוע הזו רק בעת הפעלת קבצי PowerShell מהימנים.
כדי לשנות את מדיניות הביצוע ל-"ByPass" עבור המשתמש הפעיל הנוכחי, הקלד את הפקודה הבאה ולחץ להיכנס:
מַעֲרֶכֶת-ExecutionPolicy ByPass -תְחוּם משתמש נוכחי
וכדי לשנות את מדיניות הביצוע ל-"ByPass" עבור כל המשתמשים, הקלד את הפקודה הבאה ולחץ להיכנס:
מַעֲרֶכֶת-ExecutionPolicy ByPass -תְחוּם LocalMachine
כשתסיים, סגור את PowerShell ולאחר מכן הפעל מחדש את המכשיר.
3. שנה את מדיניות הביצוע באמצעות עורך המדיניות הקבוצתית המקומית
עורך המדיניות הקבוצתית המקומית (LGPE) גם מקל עליך לשנות את מדיניות הביצוע. למעשה, כלי זה יכול גם לעזור לך להגדיר הגדרות מערכת שונות או לפתור המון בעיות במחשב.
זכור, המטרה העיקרית היא לשנות את מדיניות הביצוע כך שתוכל להריץ את הסקריפטים של PowerShell שלך ללא טרחה. ועל ידי כך, תיפטר מהשגיאה "הפעלת סקריפטים מושבתת" ב- PowerShell.
הנה איך לשנות את מדיניות הביצוע ב-LGPE:
- סוּג ערוך מדיניות קבוצתית בסרגל החיפוש של תפריט התחל ובחר את ההתאמה הטובה ביותר. לחלופין, בדוק הדרכים השונות לפתיחת ה-LGPE.
- נווט אל תצורת מחשב > תבניות ניהול > רכיבי Windows > Windows PowerShell.
- לחץ פעמיים על הפעל את ביצוע סקריפט אוֹפְּצִיָה.
בדוק את ה מופעל קופסא. משם, לחץ על מדיניות ביצוע תפריט נפתח ובחר אפשר סקריפטים מקומיים וסקריפטים חתומים מרחוק. אפשרות זו דומה לאפשרות "RemoteSigned" שגילינו קודם לכן.
אם ברצונך להריץ את כל הסקריפטים ללא הגבלות, בחר באפשרות אפשר את כל התסריטים אפשרות מהתפריט הנפתח "מדיניות ביצוע".
משם, לחץ להגיש מועמדות ולאחר מכן לחץ בסדר כדי לשמור שינויים אלה.
4. שנה את מדיניות הביצוע באמצעות עורך הרישום
אם השיטות האחרות לא עזרו, נסה לשנות את מדיניות הביצוע באמצעות עורך הרישום. עם זאת, עליך להיות זהיר בעת עריכת מפתחות רישום. אם תשנה את המקשים הלא נכונים, אתה עלול לגרום נזק למחשב האישי שלך.
כעת, הנה כיצד לשנות את מדיניות הביצוע באמצעות עורך הרישום:
- ללחוץ Win + R כדי לפתוח את תיבת הדו-שיח הפקודה הפעלה.
- סוּג Regedit ולחץ להיכנס כדי לפתוח את עורך הרישום.
- העתק-הדבק את הפקודה הבאה בשורת הכתובת ולחץ להיכנס:
HKEY_LOCAL_MACHINE\תוֹכנָה\מיקרוסופט\פגז כוח\1\ShellIds\מיקרוסופט.פגז כוח
אתר את מדיניות ביצוע ערך בצד ימין.
אם הערך חסר, צור אותו באמצעות השלבים הבאים:
- לחץ לחיצה ימנית על רווח ריק בצד ימין.
- בחר חדש > ערך DWORD (32 סיביות)..
- תן שם לערך בתור מדיניות ביצוע ולחץ להיכנס.
לחץ פעמיים על מדיניות ביצוע ערך. לאחר מכן, הקלד RemoteSigned בקטע "נתוני ערך". זה יאפשר ל-PowerShell לבצע סקריפטים מקומיים וחתומים.
לחלופין, הקלד לַעֲקוֹף בקטע "נתוני ערך". זה יאפשר ל-PowerShell לבצע כל סקריפט ללא הגבלות.
לאחר הזנת הערך המועדף עליך בקטע "נתוני ערך", לחץ על בסדר כדי לשמור את השינויים. לבסוף, סגור את עורך הרישום ולאחר מכן הפעל מחדש את המכשיר.
הפעל את סקריפטי PowerShell שלך ללא הגבלות כלשהן
זה יכול להיות די מתסכל כאשר אתה פתאום לא יכול לבצע פקודות מסוימות ב- Windows PowerShell. אבל אם נתקלת בשגיאת "הסקריפטים מושבתים", הפתרונות שסקרנו אמורים לעזור.
עכשיו, האם PowerShell נותן לך לעתים קרובות בעיות אחרות? ובכן, יש עוד פתרונות שיכולים לעזור לך.