PowerShell הוא פתרון טוב ומתקדם לאוטומציה בין פלטפורמות למשימות. בדרך כלל קל מאוד ליצור ולהריץ סקריפט PowerShell במערכת Windows. אבל, אתה עלול להיות חסום עם "הפעלת סקריפטים מושבתת במערכת זו." הודעת שגיאה אם אתה מפעיל סקריפט במערכת שלך. אם מנהל המערכת הציב מדיניות לחסום סקריפטים לא מורשים מלהפעיל על המערכת, תראה את הודעת השגיאה שצוינה. אתה צריך לבטל את חסימת המדיניות או לשנות את הרישום ואתה יכול להפעיל כל סקריפטים.
תוכן העניינים
תיקון 1 - כוונן את ה- PowerShell
אתה יכול להריץ קוד עוקף את מדיניות הביצוע הנוכחית. אז, אתה לא צריך להתעסק עם זה אבל אתה יכול להפעיל את הסקריפט שלך.
1. לאחר לחיצה על מקש Windows+S מקשים יחד, הקלידו "פגז כוח“.
2. לאחר מכן, הקש ימני על "Windows PowerShell" והקש על "הפעל כמנהל“.
3. כאשר מופיע מסך Windows PowerShell, סוּג קוד זה ושנה אותו בהתאם, והקש להיכנס לבצע אותו.
powershell -ExecutionPolicy ByPass -קובץ שם התסריט.ps1
[
פשוט תחליף את "nameofthescript.ps1" עם שם הסקריפט שאתה מנסה להפעיל.
דוגמה - נניח, שם התסריט הוא "myscript", הפקודה תהיה -
powershell -ExecutionPolicy ByPass -קובץ myscript.ps1
]
פרסומת
כך תוכל להריץ כל סקריפט מבלי לשנות את מדיניות ביצוע הסקריפט הנוכחית. אבל, אם אתה מבצע סקריפטים המוני או יוצר סקריפט אוטומטי, זה לא יעבוד.
אתה צריך לחפש את התיקון הבא בשביל זה.
תיקון 2 - שנה את מדיניות הביצוע
אתה יכול לשנות את הגדרות מדיניות הביצוע הנוכחיות אם אתה מעדיף.
1. שוב לחץ על מפתח Windows והקלד "פגז כוח“.
2. מאוחר יותר, לחץ לחיצה ימנית על "Windows PowerShell" והקש על "הפעל כמנהל" כדי לפתוח את הטרמינל עם זכויות מנהליות.
3. כשהוא אכן נפתח, סוּג פקודה זו כדי לשנות את מדיניות הביצוע לפי בחירתך.
Set-ExecutionPolicy RemoteSigned
[
אתה יכול להגדיר את מדיניות ביצוע הסקריפט לארבעה מצבים שונים. אלו הם -
מוגבל - מצב ברירת המחדל שבו PowerShell אינו מאפשר הפעלת סקריפט כלשהו במערכת.
AllSigned – רק הסקריפטים החתומים והמורשים יורשו לפעול במצב זה.
RemoteSigned – במצב זה, כל הסקריפטים שהורדת חייבים להיות בעלי חתימה של חתימה מהימנה.
ללא הגבלה - אתה יכול להריץ כל סקריפט שאתה מעדיף. אין גבולות על חתימה מהימנה או על מפרסם מהימן.
דוגמא - נניח שאתה רוצה להגדיר את הגדרות המדיניות ל'RemoteSigned', הפקודה תהיה -
Set-ExecutionPolicy RemoteSigned
]
לאחר מכן, לחץ על "י"ופגע להיכנס.
4. אם אתה מתמודד עם הודעת שגיאה כלשהי, פשוט הפעל את הפקודה הזו.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
שוב, כתוב "י"ופגע להיכנס.
לאחר שעשית זאת, תוכל להריץ את הסקריפט בקלות כפי שאתה מעדיף.
בדוק על ידי הפעלת הסקריפט.
פתק –
מדיניות הביצוע של סקריפטים מוגבלת בדרך כלל מכיוון שסקריפטים שגויים או גרועים עלולים לגרום נזק קטלני למערכת. אז, לאחר שתסיים להפעיל את הסקריפט, תוכל להגדיר את מדיניות הביצוע למצב 'מוגבל' שוב.
1. גש ל-PowerShell עם הרשאות ניהול.
2. כעת, פשוט הפעל את הקוד הבודד הזה כדי להגביל כל מדיניות לפעול על המערכת.
Set-ExecutionPolicy מוגבל
3. שוב, כתוב "י"ופגע להיכנס.
לאחר מכן, סגור את חלון PowerShell.
תיקון 3 - ערוך את הרישום
אם אתה מתמודד עם הודעת שגיאה כלשהי בעת שינוי מדיניות הביצוע, תוכל לערוך את עורך הרישום.
1. רק תכתוב "regedit.msc" בתיבת החיפוש בשורת המשימות.
2. לאחר מכן, הקש על "עורך רישום" כדי לגשת אליו.
אַזהָרָה - אתה הולך לשנות את הרישום שלך. מכיוון שעורך הרישום הוא חלק חשוב מאוד במערכת שלך, עליך לבצע גיבוי של הרישום מראש.
כאשר עורך הרישום נפתח, הקש על "קוֹבֶץ“. לאחר מכן הקש על "יְצוּא" כדי ליצור גיבוי רישום חדש במערכת שלך.
מאוחר יותר, תוכל להשתמש בגיבוי זה אם דברים משתבשים.
3. כעת, הרחב את הצד השמאלי בדרך זו -
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\ShellIds\ScriptedDiagnostics
4. לאחר מכן, הקשה כפולה ה "מדיניות ביצוע"ערך בינארי.
5. רק תכתוב "ללא הגבלה" בתיבה 'נתוני ערך:'.
6. לאחר מכן, הקש על "בסדר" כדי לשמור את השינוי הזה.
לאחר מכן, סגור את עורך הרישום. לאחר סגירת עורך הרישום, הפעל מחדש את המערכת.
לאחר אתחול המחשב, תוכל להריץ בקלות סקריפט לפי בחירתך.