يحتوي PowerShell على الكثير من طبقات مختلفة منأمان يمنع تنفيذ البرامج النصية والأوامر الضارة. على سبيل المثال ، لا يمكنك افتراضيًا تشغيل برنامج نصي قمت بتنزيله من الإنترنت إلا إذا قمت بتغيير سياسة تنفيذ PowerShell. تمنعك تدابير أمان أخرى من تنفيذ برنامج نصي بالنقر فوقه نقرًا مزدوجًا. لا يمكنك ربط البرامج النصية لـ PS1 بـ PowerShell والطريقة الوحيدة لتشغيل البرنامج النصي هي النقر بزر الماوس الأيمن فوقه وتحديد خيار التشغيل. يؤدي النقر المزدوج فوقه إلى فتحه في برنامج "المفكرة". يعد هذا الإجراء رائعًا بالنسبة إلى إجراء الأمان ، ولكنه مزعج إذا كنت تريد تنفيذ برنامج PowerShell النصي عند تشغيل مهمة مجدولة. العمل بسيط. يمكنك استخدام برنامج نصي دفعي لتشغيل البرامج النصية PowerShell تلقائيًا.
دفعة البرنامج النصي
فيما يلي النص البرمجي الدفعي الذي تحتاجه من أجل تشغيل البرامج النصية PowerShell تلقائيًا على نظام التشغيل Windows 10. سيحتاج كل برنامج نصي من PowerShell إلى Batch Script الخاص به.
بناء الجملة
@ECHO OFF PowerShell.exe -Command "Path to script" PAUSE
استبدل "المسار إلى البرنامج النصي" بالمسار الفعلي إلى البرنامج النصي PowerShell الذي تريد تنفيذه. النظر في المثال التالي ؛
مثال
@ECHO OFF PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1" PAUSE
افتح "المفكرة" والصق البرنامج النصي فيه. احفظ الملف بملحق .bat.
ما تفعله هذه الملفات الدفعية هو أنه يفتحيقوم PowerShell ثم يقوم بتشغيل البرنامج النصي الذي أشرت إليه. لا يزال يتعذر عليك النقر نقرًا مزدوجًا فوق برنامج PowerShell النصي على سطح المكتب لديك وتشغيله تلقائيًا في PowerShell. سيفتح الملف الحالي نافذة موجه الأوامر وسيظهر رسالة "اضغط على أي مفتاح للمتابعة". عندما تضغط على مفتاح ، عندها فقط سيتم تشغيل البرنامج النصي PowerShell. إذا كنت تفضل تشغيل البرنامج النصي دون الاضطرار إلى التدخل ، فقم بتعديل البرنامج النصي أعلاه وإزالة سطر "الإيقاف المؤقت". يجب أن تبدو هذه؛
@ECHO OFF PowerShell.exe -Command "Path to script"
جدولة المهام والبرامج النصية PowerShell
نحن نفترض أنك تريد تشغيل تلقائيًاالبرنامج النصي PowerShell كإجراء لمهمة مجدولة. لتحقيق ذلك ، تحتاج أولاً إلى إنشاء نص برمجي مطابق للدُفع ، كما هو موضح أعلاه ، لتشغيل البرنامج النصي PowerShell. بعد ذلك ، عند إنشاء مهمة مجدولة ، حدد البرنامج النصي Batch ضمن الإجراء الذي يجب أن يستغرقه استجابة للمشغل. سيؤدي هذا في الواقع إلى تشغيل البرنامج النصي PowerShell.

استخدمنا برنامج جدولة المهام كمثال هنا ولكنإذا كنت تستخدم أي تطبيق آخر للتشغيل الآلي ، فستظل بحاجة إلى الاتصال بالبرنامج النصي للدُفعات. الاستثناء الوحيد هو ما إذا كان تطبيق الأتمتة الذي تستخدمه يمكنه فتح PowerShell ثم توجيهه إلى البرنامج النصي PowerShell.
تعليقات