فيما يلي كيفية تحقيق أقصى استفادة من Windows PowerShell عن طريق تمكين نهج تنفيذ البرنامج النصي.
يتيح لك iPowerShell ، افتراضيًا ، تشغيل الأوامر (cmdlets) عبر وحدة التحكم الخاصة به. لتنفيذ برنامج نصي ، يمكنك إنشاء ملف مفكرة برمز البرنامج النصي وحفظه بملحق ملف .ps1 وتنفيذه عبر وحدة تحكم PowerShell. يمكنك أيضًا لصق البرنامج النصي مباشرة على وحدة التحكم للتنفيذ.
ومع ذلك ، إذا كانت هذه هي المرة الأولى التي تنفذ فيها نصًا برمجيًا عبر PowerShell ، فستواجه الخطأ "تم تعطيل البرنامج النصي قيد التشغيل". بشكل افتراضي ، يتم تعطيل تنفيذ البرنامج النصي على PowerShell كإجراء أمني لمنع البرامج النصية الضارة من العمل على نظامك. نعرض لك هنا طريقتين لتمكين سياسة تنفيذ scrip على Windows PowerShell.
كيفية التحقق من سياسة التنفيذ الحالية الخاصة بك
يمكنك استخدام PowerShell cmdlet للحصول على نهج التنفيذ الحالي الخاص بك. إن معرفة سياسة التنفيذ الحالية الخاصة بك أمر ضروري لمعرفة ما إذا كنت بحاجة إلى تغيير السياسة أم لا.
للحصول على سياسة التنفيذ الحالية للمستخدم الحالي:
- افتح Windows PowerShell كمسؤول.
- اكتب الأمر التالي في وحدة تحكم PowerShell واضغط على Enter:
يحصل-سياسة الإعدام
- نظرًا لأنك واجهت خطأً عند تنفيذ البرنامج النصي ، فمن المحتمل أن يظهر العائد مقيد كسياسة التنفيذ الحالية الخاصة بك.
- إذا كنت بحاجة إلى عرض سياسة التنفيذ لجميع النطاقات المدعومة:
يحصل- قائمة التنفيذ
ستحتاج إلى تغيير سياسة التنفيذ إلى RemoteSigned لتشغيل البرامج النصية المحلية دون الخطأ. يمكنك تغيير سياسة التنفيذ من تطبيق الإعدادات و PowerShell.
كيفية تمكين سياسة تنفيذ PowerShell باستخدام تطبيق الإعدادات
يمكنك تغيير وتعيين سياسة تنفيذ PowerShell على RemoteSigned باستخدام تطبيق الإعدادات. كل ما عليك فعله هو تعديل إعدادات PowerShell في قسم المطورين لتغيير سياسة التنفيذ لتمكين تنفيذ برنامج PowerShell النصي.
لتغيير سياسة التنفيذ باستخدام الإعدادات:
- يضعط فوز + أنا لفتح Seرنغمات.
- افتح ال الخصوصية و أمن علامة التبويب في الجزء الأيمن.
- بعد ذلك ، انقر فوق للمطورين.
- انقر لتوسيع ملف بوويرشيل قسم.
- قم بتبديل المفتاح إلى قم بتغيير سياسة التنفيذ للسماح بتشغيل البرامج النصية المحلية لـ PowerShell بدون توقيع - طلب التوقيع للنصوص البرمجية عن بُعد.
- بمجرد الانتهاء من ذلك ، افتح PowerShell ، واكتب get سياسة التنفيذ و اضغط يدخل. تم الآن تعيين سياسة التنفيذ للمستخدم الحالي على عن بعد.
- إذا كنت بحاجة إلى تعطيل سياسة التنفيذ ، فقم بتبديل مفتاح PowerShell وضبطه على عن.
كيفية السماح بتشغيل البرامج النصية في PowerShell باستخدام PowerShell
يمكنك استخدام ملف PowerShell cmdlet لتعيين سياسة التنفيذ على RemoteSigned. تسهل واجهة سطر الأوامر تغيير سياسة التنفيذ بسرعة دون استخدام تطبيق الإعدادات.
أيضًا ، يمكن لتطبيق الإعدادات فقط تمكين أو تعطيل سياسة تنفيذ RemoteSigned. بينما يتيح لك PowerShell تعيين سياسات ونطاقات أخرى أيضًا.
لتغيير سياسة التنفيذ باستخدام PowerShell:
- افتح PowerShell كمسؤول.
- في نافذة PowerShell ، اكتب الأمر التالي واضغط يدخل:
تعيين-تنفيذ السياسة عن بعد
- إذا طُلب منك ذلك ، فاضغط على أ لتأكيد الإجراء. سيؤدي ذلك إلى ضبط ملف عن بعد سياسة التنفيذ لجميع المستخدمين. إذا كنت ترغب في تعيين سياسة التنفيذ لملف المستخدم الحالي فقط ، استخدم معلمة النطاق متبوعة باسم المستخدم.
- على سبيل المثال ، لتعيين ملف عن بعد سياسة التنفيذ ل المستخدم الحالي، استخدم الأمر التالي:
تعيين-التنفيذ عن بعد -نِطَاق المستخدم الحالي
- يستبدل المستخدم الحالي في الأمر أعلاه مع المستخدمين الآخرين (النطاق) وفقًا لمتطلباتك.
كيفية إزالة نهج تنفيذ البرنامج النصي باستخدام PowerShell
إذا كنت ترغب في تعطيل تنفيذ البرنامج النصي ، فقم بتعيين سياسة التنفيذ على غير معرف باستخدام الe Set_ExecutionPolicy cmdlet. هذه حالة افتراضية وتمنع PowerShell من تنفيذ أي برامج نصية.
لتعطيل تنفيذ البرنامج النصي باستخدام PowerShell:
- افتح PowerShell بإذن مرتفع.
- بعد ذلك ، اكتب الأمر التالي واضغط على Enter لتعطيل تنفيذ البرنامج النصي لجميع المستخدمين:
تعيين-سياسة التنفيذ غير معرف
- سيقوم الأمر أعلاه بتعيين الإعداد الافتراضي لسياسة التنفيذ (غير محدد) لجميع المستخدمين. إذا كنت ترغب في تعطيل تنفيذ البرنامج النصي لنطاق معين ، فاستخدم الأمر التالي:
تعيين-سياسة التنفيذ غير معرف -نطاق المستخدم الحالي
- سيعطل الأمر أعلاه تنفيذ البرنامج النصي لـ المستخدم الحالي.
فهم سياسات التنفيذ والنطاقات
ببساطة ، سياسة تنفيذ PowerShell هي سياسة تتحكم في كيفية تنفيذ PowerShell لملفات التكوين والبرامج النصية. الغرض المقصود هو منع المستخدمين من تشغيل البرامج النصية الضارة عن طريق الخطأ. سياسات تنفيذ PowerShell السبعة هي افتراضي ، مقيد ، RemoteSigned ، AllSigned ، غير مقيد ، تجاوز ، وغير معرف.
يوضح الجدول أدناه بإيجاز جميع سياسات تنفيذ PowerShell:
سياسة التنفيذ |
إجباري |
تقصير |
يعيّن نهج التنفيذ الافتراضي على أنه مقيد على عميل Windows و RemoteSigned في Windows Server. |
الكل موقعة |
يسمح بتنفيذ البرامج النصية الموقعة من الناشر. |
تجاوز |
تنفيذ غير مقيد للنصوص لتطبيقات أكبر. |
عن بعد |
يسمح بتنفيذ البرنامج النصي المكتوب محليا. يتطلب التوقيعات الرقمية للنصوص التي يتم تنزيلها من الإنترنت. |
مقيد |
لا يسمح بتنفيذ البرنامج النصي ، ولكن فقط أوامر PowerShell الفردية. |
غير معرف |
يعيّن سياسة التنفيذ على "مقيد لعملاء Windows" و RemoteSigned لـ Windows Server. |
غير مقيد |
السماح بتنفيذ البرنامج النصي بدون توقيع مع تحذير للبرامج النصية التي تم تنزيلها من الإنترنت. |
نطاق سياسة التنفيذ
يمكنك تعيين سياسة التنفيذ لنطاق معين في PowerShell. نطاقات سياسة التنفيذ الخمسة هي MachinePolicy ، UserPolicy ، العملية ، CurrentUser ، و الجهاز المحلي.
يوضح الجدول أدناه بإيجاز جميع نطاقات سياسة التنفيذ:
نطاق سياسة التنفيذ |
إجباري |
سياسة المستخدم |
تم تكوينه بواسطة "نهج المجموعة" للمستخدم الحالي. |
نهج الجهاز |
تم تكوينه بواسطة "نهج المجموعة" لجميع المستخدمين. |
CurrenUser |
تم تكوينه للمستخدم الحالي وتخزينه في مفتاح التسجيل الفرعي HKEY_CURRENT_MACHINE. |
الجهاز المحلي |
مهيأ لجميع المستخدمين ومخزن في مفتاح التسجيل الفرعي HKEY_CURRENT_MACHINE. |
عملية |
يؤثر على جلسة PowerShell الحالية ويتم حذفه تلقائيًا عند إغلاق الجلسة. |
إضافة أو إزالة سياسة تنفيذ PowerShell Script على Windows
يتم تعطيل تنفيذ البرنامج النصي على PowerShell افتراضيًا لعملاء Windows وتعيينه على RemoteSigned لخادم Windows. ومع ذلك ، يمكن للمستخدمين المتمرسين تغيير سياسات التنفيذ لتشغيل برامج PowerShell النصية المحلية والموقعة وغير الموقعة.
بدلاً من ذلك ، يمكنك تجاوز سياسة تنفيذ PowerShell عن طريق لصق البرنامج النصي في وحدة تحكم PowerShell أو ECHO البرنامج النصي الخاص بك في إدخال PowerShell القياسي. هذا مفيد إذا كنت تريد تنفيذ البرامج النصية دون تغيير سياسة التنفيذ.