لقد قمت بكتابة برنامج نصي يعمل على إصلاح مشكلة في عشر ثوانٍ - ولكن الأشخاص الذين يحتاجون إليه لن يفتحوا PowerShell، ولن يغيروا سياسة التنفيذ، ولن يقوموا بتشغيل ملف نصي. قم بتحويله إلى ملف EXE واحد يمكنهم النقر عليه نقرًا مزدوجًا. هذا هو التحويل الكامل، الذي تم بشكل صحيح، مع توضيح حدوده بوضوح.
يمتلك كل مسؤول في Windows مجلدًا يحتوي على نصوص برمجية صغيرة رائعة لا يمكن لأي شخص آخر استخدامها. السيناريو جيد. العبوة هي المشكلة. يتم فتح ملف .ps1 في برنامج "المفكرة" عند النقر عليه نقرًا مزدوجًا، ويطلق تحذيرات السياسة عند تشغيله، ويبدو وكأنه فيروس لمستخدم غير تقني. يؤدي تحويله إلى EXE باستخدام وحدة PS2EXE المجانية إلى إصلاح العبوة في حوالي دقيقة. هذه الصفحة هي المهمة بأكملها بالترتيب: ما يفعله التحويل بالفعل، والتثبيت، والأمر، والخيارات المهمة، والاختبار الذي يبقيك صادقًا.
البرنامج النصي PowerShell هو ملف نصي. فهو يحتاج إلى PowerShell لفتحه، وسياسة التنفيذ الصحيحة لتشغيله، ومستخدم لا يخاف من النافذة الزرقاء المليئة بالنص. يزيل ملف EXE المحول جميع العوائق الثلاثة: يقوم المستخدم بالنقر المزدوج على ملف واحد، تمامًا مثل أي برنامج آخر.
كن واضحًا بشأن ما تفعله الأداة أسفل الغطاء. PS2EXE، الوحدة المجانية التي يستخدمها هذا الدليل، تقوم بتغليف البرنامج النصي الخاص بك داخل برنامج .NET صغير. ينتقل نص البرنامج النصي داخل ملف EXE في شكل مشفر، وعندما يتم تشغيل ملف EXE، فإنه يقوم بتسليم هذا البرنامج النصي إلى محرك PowerShell المدمج في Windows. لا يتم تجميع أي شيء في كود الآلة، ولا يتم تحويل البرنامج النصي إلى سر - وتغطي صفحة لاحقة في هذه المجموعة هذا الحد بالكامل.
لا يزال هذا المجمع مفيدًا حقًا. إنه الفرق بين إرسال ملف نصي إلى زميل يحتوي على ستة تعليمات وإرسال زر واحد له يعمل فقط.
لا تقم أبدًا بتحويل برنامج نصي لم يتم اختباره. يقوم ملف EXE بإخفاء وحدة التحكم وتدفق الأخطاء بطرق تجعل تصحيح الأخطاء بطيئًا، لذلك يجب العثور على كل خطأ بينما يظل البرنامج النصي .ps1 عاديًا.
يتم نشر PS2EXE في معرض PowerShell بواسطة مؤلفه، Markus Scholtes، وهو مجاني. يمكنك تثبيته مرة واحدة على جهاز الكمبيوتر الخاص بك؛ الأشخاص الذين يتلقون EXE لا يقومون بتثبيت أي شيء.
Install-Module -Name ps2exeSet-ExecutionPolicy -Scope CurrentUser RemoteSigned وافهم أنك تقوم بتغيير إعداد الأمان في حسابك الخاص فقطهناك أيضًا واجهة أمامية رسومية، Win-PS2EXE، والتي تعرض كل خيار كمربعات اختيار وحقول. إنه ينتج نفس ملف EXE تمامًا مثل سطر الأوامر - استخدم ما تجده أكثر وضوحًا.
يقوم الأمر الأساسي بتسمية نص الإدخال وملف الإخراج:
Invoke-PS2EXE -inputFile ".\DiskCleanup.ps1" -outputFile ".\DiskCleanup.exe"ps2exe يقبل نفس المعلمات-noConsole إذا كان البرنامج النصي يعرض نافذة أو نموذجًا ولا تريد وجود نافذة وحدة تحكم سوداء خلفه-requireAdmin إذا قام البرنامج النصي بتغيير إعدادات النظام، لذلك يطلب Windows الارتفاع عند التشغيل بدلاً من فشل البرنامج النصي في منتصف الطريق-iconFile ".\tool.ico" بالإضافة إلى -title، و-product، و-company، و-version إذا كانت ستتم مشاركة الملف - فهذا يملأ علامة التبويب "تفاصيل" لخصائص الملفالفيديو المرتبط بهذه الصفحة يمر عبر عملية التحويل التي تظهر على الشاشة؛ الخيارات المذكورة أعلاه هي نفس الخيارات التي تستخدمها، وتشرح بقية مجموعة الأدلة هذه كل منها بعمق.
يعد EXE المحول برنامجًا جديدًا فيما يتعلق بنظام Windows. اختبرها بالطريقة التي سيقابلها بها المستخدم الحقيقي:
.ps1. EXE هو إخراج بناء فقط؛ يبدأ كل تعديل مستقبلي من البرنامج النصيشاهد التحويل الكامل في الفيديو - تثبيت الوحدة النمطية، وواجهة المستخدم الرسومية، ومسارات الأوامر، وتشغيل EXE النهائي.
Watch Full Videoفهو يحتاج إلى محرك PowerShell الذي يأتي داخل Windows نفسه، والذي يحمله Windows 10 و11 افتراضيًا. لا يقوم المستخدم بتثبيت أي شيء ولا يفتح PowerShell مطلقًا - يقوم ملف EXE بتشغيل المحرك في الخلفية ويسلمه البرنامج النصي الخاص بك.
ليس بالمعنى الحاد C أو C. يقوم PS2EXE بتغليف نص البرنامج النصي المشفر داخل برنامج مضيف .NET صغير. عند تشغيل ملف EXE، يقوم المضيف بتغذية البرنامج النصي الخاص بك إلى محرك Windows PowerShell. السلوك مماثل لتشغيل .ps1 - العبوة هي التي تتغير.
PS2EXE مجاني. إنها وحدة نمطية مجتمعية تم نشرها في معرض PowerShell بواسطة Markus Scholtes، وتم تثبيتها باستخدام Install-Module -Name ps2exe. توجد برامج حزم تجارية، ولكن بالنسبة لمهمة التحويل القياسية، فإن الوحدة المجانية هي الأداة المستخدمة في الفيديو وفي هذا الدليل.