- يحدث الخطأ عند تشغيل البرامج النصية في PowerShell Windows 11 بسبب قيود الأمان الافتراضية.
- هناك عدة طرق لتعديل سياسة التنفيذ وتمكين البرامج النصية استنادًا إلى احتياجات المستخدم.
- يتيح تكوين الأمان المناسب تنفيذ البرامج النصية بشكل متحكم، مما يقلل المخاطر التي يتعرض لها النظام.
هل واجهت مؤخرًا الرسالة المزعجة "لا يمكن تحميل الملف لأن تنفيذ البرنامج النصي معطل على هذا النظام." عند محاولة تشغيل البرنامج النصي في PowerShell على نظام التشغيل Windows 11لست وحدك. إنها إحدى تلك المواقف التي تُثير قلق المستخدمين المبتدئين والمطورين ذوي الخبرة على حد سواء. هذا النوع من الأخطاء يظهر عادةً عندما نريد أتمتة المهام أو اختبار البرامج النصية الصغيرة. وفجأة، يوقفنا النظام عن العمل بسبب مشكلة تبدو مخفية خلف طبقات من الأمان والسياسات غير المعروفة.
في هذا المقال أشرح كل ما تحتاج إلى معرفته حول خطأ تنفيذ البرنامج النصي PowerShell على Windows 11باستخدام نهج سهل وعملي، يمكنك فهمه حتى لو لم تكن لديك خبرة تقنية واسعة. سنتناول الأسباب، وسياسات الأمان، وخطوات استكشاف الأخطاء وإصلاحها، والبدائل الأكثر شيوعًا، مع مراعاة أمنك واحتياجاتك. سأوضح أيضًا أي أسئلة شائعة وبعض الفروق التقنية التي غالبًا ما يتم تجاهلها في الدروس التعليمية الأخرى.
لماذا أحصل على خطأ تنفيذ البرنامج النصي في PowerShell؟
قد تختلف رسالة الخطأ الكلاسيكية قليلاً، لكنه دائمًا يقول شيئًا مثل: No se puede cargar el archivo <ruta_del_script> porque la ejecución de scripts está deshabilitada en este sistema. لا يعني هذا التحذير أن لديك فيروسًا أو أن نظام التشغيل Windows لديك تالف.السبب يكمن في كيفية تكوين سياسات أمان PowerShell.
لقد قامت شركة Microsoft بتشديد سياسات الأمان في كل إصدار جديد من Windows، وخاصة منذ Windows 10 وWindows 11. بشكل افتراضي، تنفيذ البرامج النصية في PowerShell مقيد لمنع تشغيل التعليمات البرمجية الضارة دون سيطرةيعد هذا أمرًا إيجابيًا بالنسبة لمعظم المستخدمين، ولكن بالنسبة للمطورين والمسؤولين، فقد يكون بمثابة قيد مزعج.
بعض رسائل الخطأ الأكثر شيوعًا هي:
- تعذّر تحميل الملف C:\my_script.ps1. تنفيذ البرنامج النصي معطل على هذا النظام. راجع "الحصول على مساعدة حول التوقيع" لمزيد من المعلومات.
- تعذّر تحميل الملف بسبب تعطيل تنفيذ البرنامج النصي على هذا النظام. لمزيد من المعلومات، راجع about_Execution_Policies.
- الملف C:\my_script.ps1 غير موقّع رقميًا. لن يعمل البرنامج النصي على النظام.
السبب الأساسي هو سياسة التنفيذ التي تم تكوينها في PowerShellتُحدد هذه السياسات ما إذا كان يُسمح بتشغيل ملفات البرامج النصية، وتحت أي شروط. افتراضيًا، يتم تفعيل السياسة الأكثر تقييدًا: محدد، مما يمنع أي تنفيذ تلقائي للبرامج النصية.
ما هي سياسات تنفيذ PowerShell ولماذا هي مهمة؟

يستخدم Windows PowerShell نظامًا من سياسات التنفيذ لتحديد البرامج النصية التي يمكن تشغيلها وفي أي ظروف.. وهذا ضروري لأمن النظام.، حيث أنه يمنع إطلاق التعليمات البرمجية الضارة المحتملة التي يتم تنزيلها من الإنترنت أو استلامها عبر البريد الإلكتروني.
السياسات الرئيسية التي يمكنك العثور عليها هي:
- محدد:هذه هي السياسة الافتراضية في Windows 11. لا يسمح بتنفيذ أي نص برمجي، الأوامر التفاعلية فقط.
- AllSigned:السماح فقط بتشغيل البرامج النصية وملفات التكوين الموقعة رقميًا بواسطة ناشر موثوق به.
- RemoteSigned:تعمل البرامج النصية المحلية دون مشاكل، ولكن البرامج النصية التي يتم تنزيلها من الإنترنت يجب أن يتم توقيعها رقميًا بواسطة ناشر موثوق به.
- غير مقيد:يسمح لك بتشغيل أي نص برمجي، على الرغم من أنه يعرض تحذيرًا إذا كان النص البرمجي يأتي من الإنترنت.
اختيار السياسة الصحيحة أمر ضروريإذا كنت ترغب فقط في تشغيل نص برمجي محلي، فقد يكون RemoteSigned كافيًا. إذا كنت مطورًا واثقًا من برمجتك، فقد يكون التبديل إلى Unrestricted كافيًا، ولكن بحذر دائمًا.
كيفية التعرف على سياسة التنفيذ الحالية في Windows 11؟
قبل تغيير أي شيء، من الجيد أن تعرف ما هي السياسة النشطة لديك.. للتأكد:
- افتح بوويرشيليمكنك القيام بذلك من قائمة "ابدأ" بالبحث عن "PowerShell". إذا كنت بحاجة إلى إجراء تغييرات، افعل ذلك كمسؤول.
- اكتب الأمر التالي:
Get-ExecutionPolicy -List
سيؤدي هذا إلى عرض قائمة بالسياسات المطبقة في مناطق مختلفة (المستخدم، والنظام المحلي، والعملية، وما إلى ذلك). عادةً ما سترى "مقيدة" كسياسة نشطة. في معظم الحالات.
الحلول: كيفية تمكين تنفيذ البرنامج النصي خطوة بخطوة

هناك عدة طرق لحل الخطأ، وكل منها يعتمد ذلك على مستوى الأمان الذي تريد الحفاظ عليه. والسياق الذي تعمل فيه. إليك الخيارات الرئيسية:
تغيير سياسة التنفيذ مؤقتًا (الجلسة الحالية)
إذا كنت تحتاج فقط إلى تشغيل البرنامج النصي مرة واحدة ولا تريد أن يكون التغيير دائمًا، فيمكنك القيام بذلك على النحو التالي:
- افتح PowerShell كمسؤول.
- يركض:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted
يؤثر هذا فقط على نافذة PowerShell المفتوحة لديك.عند إغلاقه، ستعود السياسة إلى حالتها السابقة.
تعيين سياسة التنفيذ للمستخدم أو النظام بأكمله
لجعل التغيير يستمر إلى أجل غير مسمى، استخدم أحد الأوامر التالية حسب الاقتضاء:
- بالنسبة للمستخدم الحالي:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned - على مستوى النظام (يتطلب أذونات المسؤول):
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned
معامل -سياسة التنفيذ يمكنك تعديله إلى غير مقيد, AllSigned o RemoteSigned اعتمادا على ما تحتاجه. غالبًا ما يكون RemoteSigned هو الخيار الأكثر توازناً للمستخدمين والمطورين.
تغيير سياسة التنفيذ من إعدادات Windows 11
هناك بديل آخر أقل تقنية وهو الوصول إلى خيارات النظام:
- افتح إعدادات Windows 11 (يمكنك النقر فوق وين + I).
- اذهب الى الخصوصية والأمان > للمطورين.
- ابحث عن قسم PowerShell.
- يتيح خيار تشغيل البرامج النصية المحلية غير الموقعة ويتطلب التوقيع فقط للبرامج النصية البعيدة.
تعتبر هذه الطريقة مثالية لأولئك الذين لا يريدون لمس الأوامر ويفضلون خيارًا بسيطًا ورسوميًا.
الأخطاء الشائعة وتوصيات السلامة
قد يكون تمكين تنفيذ البرنامج النصي أمرًا محفوفًا بالمخاطر إذا لم يتم التحكم في ما يتم تنفيذه جيدًا.ومن الضروري اتباع التوصيات التالية:
- لا تقم بتنزيل أو تشغيل البرامج النصية من مصادر غير معروفة.حتى مع السياسات الأقل تقييدًا، يجب عليك البقاء حذرًا.
- استعمال RemoteSigned متى أمكن.
- بعد تشغيل البرنامج النصي اللازم، يعيد إرساء السياسة السابقة (على سبيل المثال، باستخدام
Set-ExecutionPolicy Restricted). - في بيئات العمل أو عند التعامل مع البرامج النصية الهامة، اختر AllSigned أو استشر مسؤول النظام لديك..
حالات خاصة: PowerShell وAzure والإصدارات غير المتوافقة
هناك سيناريوهات قد يكون فيها الخطأ ناتجًا عن سبب آخر غير سياسة التنفيذ. على سبيل المثال، مع وحدات نمطية محددة مثل Azure Active Directory، بعض الإصدارات الحديثة من PowerShell غير مدعومة، وقد يؤدي هذا إلى حدوث أخطاء إضافية:
- تعمل وحدة Azure Active Directory الكلاسيكية فقط مع PowerShell من 3 إلى 5.1بالنسبة للإصدارات الأعلى، يرجى البحث عن إصدارات بديلة أو محدثة من الوحدة.
- تذكر دائمًا تشغيل الوحدات التي تتطلب الإدارة مثل مدير لتجنب التصاريح غير الكافية.
إذا فقدت مسار إصدار PowerShell الخاص بك، فما عليك سوى تشغيل:
$PSVersionTable
لرؤية كافة المعلومات عنه.
استكشاف الأخطاء وإصلاحها والموارد الإضافية المفيدة

في بعض الأحيان، حتى مع تطبيق الأوامر المذكورة أعلاه، قد تواجه أعطالاً. في مثل هذه الحالة:
- تحقق إذا كان هناك أي سياسة مكافحة الفيروسات أو الشركة تمنع التغييرات.
- إذا حدث الخطأ فقط مع البرامج النصية التي تم تنزيلها، التحقق من خصائص الملف وإلغاء قفله (انقر بزر الماوس الأيمن > خصائص > إلغاء القفل).
- الاختيار مساعدة رسمية من مايكروسوفت والمنتديات المتخصصة إذا كانت بيئة الشركات لها سياساتها التقييدية الخاصة.
تذكر أنه إذا كنت بحاجة إلى مساعدة إضافية، فيمكنك دائمًا اللجوء إلى مجتمع مستخدمي PowerShell أو قنوات دعم Microsoft، حيث يتم تحديثها عادةً بالتغييرات التي يتم تقديمها إصدارًا بعد إصدار.
إن فهم سبب تقييد Windows 11 لتنفيذ البرامج النصية في PowerShell هو الخطوة الأولى نحو العمل مع البرامج النصية بكفاءة وأمان. من خلال اتباع هذه التوصيات، ستتمكن من حل الخطأ وتعلم كيفية إدارة بيئة التشغيل الخاصة بك بشكل أفضل، والحصول على أقصى استفادة من عمليات التشغيل الآلي لديك والحفاظ على نظامك محميًا. قم بتغيير الإعدادات فقط عند الضرورة وتذكر إعادة تعيين السياسات الخاصة بالأمان بعد الانتهاء من مهامك.
أنا من عشاق التكنولوجيا وقد حول اهتماماته "المهووسة" إلى مهنة. لقد أمضيت أكثر من 10 سنوات من حياتي في استخدام التكنولوجيا المتطورة والتعديل على جميع أنواع البرامج بدافع الفضول الخالص. الآن تخصصت في تكنولوجيا الكمبيوتر وألعاب الفيديو. وذلك لأنني منذ أكثر من 5 سنوات أكتب لمواقع مختلفة حول التكنولوجيا وألعاب الفيديو، وأقوم بإنشاء مقالات تسعى إلى تزويدك بالمعلومات التي تحتاجها بلغة مفهومة للجميع.
إذا كان لديك أي أسئلة، فإن معرفتي تتراوح بين كل ما يتعلق بنظام التشغيل Windows وكذلك Android للهواتف المحمولة. والتزامي تجاهك هو أنني على استعداد دائمًا لقضاء بضع دقائق ومساعدتك في حل أي أسئلة قد تكون لديكم في عالم الإنترنت هذا.
