आपने एक स्क्रिप्ट लिखी है जो किसी समस्या को दस सेकंड में ठीक कर देती है - लेकिन जिन लोगों को इसकी आवश्यकता है वे पावरशेल नहीं खोलेंगे, निष्पादन नीति नहीं बदलेंगे, और टेक्स्ट फ़ाइल नहीं चलाएंगे। इसे एक EXE में बदलें, वे डबल-क्लिक कर सकते हैं। यहां पूर्ण रूपांतरण है, जो सही ढंग से किया गया है, इसकी सीमाएं स्पष्ट रूप से बताई गई हैं।
प्रत्येक विंडोज़ एडमिन के पास शानदार छोटी स्क्रिप्ट्स का एक फ़ोल्डर होता है जिसका उपयोग कोई और नहीं कर सकता। स्क्रिप्ट ठीक है; पैकेजिंग समस्या है. .ps1 फ़ाइल डबल-क्लिक करने पर नोटपैड में खुलती है, चलने पर नीति चेतावनियाँ ट्रिगर करती है, और गैर-तकनीकी उपयोगकर्ता को वायरस की तरह दिखती है। इसे निःशुल्क PS2EXE मॉड्यूल के साथ EXE में परिवर्तित करने से पैकेजिंग लगभग एक मिनट में ठीक हो जाती है। यह पृष्ठ संपूर्ण कार्य को क्रमबद्ध करता है: रूपांतरण वास्तव में क्या करता है, इंस्टॉल, कमांड, महत्वपूर्ण विकल्प, और परीक्षण जो आपको ईमानदार रखता है।
पॉवरशेल स्क्रिप्ट एक टेक्स्ट फ़ाइल है। इसे खोलने के लिए PowerShell, इसे चलाने के लिए सही निष्पादन नीति और एक ऐसे उपयोगकर्ता की आवश्यकता है जो टेक्स्ट से भरी नीली विंडो से नहीं डरता हो। एक परिवर्तित EXE सभी तीन बाधाओं को दूर करता है: उपयोगकर्ता एक फ़ाइल पर डबल-क्लिक करता है, बिल्कुल किसी अन्य प्रोग्राम की तरह।
इस बारे में स्पष्ट रहें कि उपकरण हुड के नीचे क्या करता है। PS2EXE, इस गाइड द्वारा उपयोग किया जाने वाला निःशुल्क मॉड्यूल, आपकी स्क्रिप्ट को एक छोटे .NET प्रोग्राम के अंदर लपेटता है। स्क्रिप्ट टेक्स्ट एन्कोडेड रूप में EXE के अंदर जाता है, और जब EXE चलता है, तो यह उस स्क्रिप्ट को विंडोज़ में निर्मित पावरशेल इंजन को सौंप देता है। मशीन कोड में कुछ भी संकलित नहीं किया गया है, और स्क्रिप्ट को रहस्य में नहीं बदला गया है - इस सेट में एक बाद का पृष्ठ उस सीमा को पूरी तरह से कवर करता है।
वह रैपर अभी भी वास्तव में उपयोगी है। किसी सहकर्मी को छह निर्देशों वाली एक टेक्स्ट फ़ाइल भेजने और उन्हें एक बटन भेजने के बीच यह अंतर है जो काम करता है।
कभी भी किसी परीक्षण न की गई स्क्रिप्ट को कनवर्ट न करें. EXE कंसोल और त्रुटि स्ट्रीम को इस तरह से छुपाता है जिससे डिबगिंग धीमी हो जाती है, इसलिए प्रत्येक बग को ढूंढना होगा जबकि स्क्रिप्ट अभी भी एक सादा .ps1 है।
PS2EXE को इसके लेखक मार्कस शोल्ट्स द्वारा पावरशेल गैलरी पर प्रकाशित किया गया है और यह मुफ़्त है। आप इसे एक बार अपने पीसी पर इंस्टॉल करें; जो लोग EXE प्राप्त करते हैं वे कुछ भी इंस्टॉल नहीं करते हैं।
Install-Module -Name ps2exe चलाएँSet-ExecutionPolicy -Scope CurrentUser RemoteSigned के साथ अपने सत्र के लिए अनुमति दें और समझें कि आप केवल अपने खाते पर सुरक्षा सेटिंग बदल रहे हैंएक ग्राफ़िकल फ्रंट एंड, Win-PS2EXE भी है, जो हर विकल्प को चेकबॉक्स और फ़ील्ड के रूप में दिखाता है। यह कमांड लाइन के समान ही EXE उत्पन्न करता है - जो भी आपको स्पष्ट लगे उसका उपयोग करें।
मूल कमांड एक इनपुट स्क्रिप्ट और एक आउटपुट फ़ाइल को नाम देता है:
Invoke-PS2EXE -inputFile ".\DiskCleanup.ps1" -outputFile ".\DiskCleanup.exe"ps2exe समान पैरामीटर स्वीकार करता है-noConsole जोड़ें और आप इसके पीछे एक ब्लैक कंसोल विंडो नहीं चाहते हैं-requireAdmin जोड़ें, इसलिए विंडोज़ स्क्रिप्ट के आधे रास्ते में विफल होने के बजाय लॉन्च के समय उन्नयन की मांग करता है-iconFile ".\tool.ico" प्लस -title, -product, -company और -version जोड़ें - ये फ़ाइल गुणों के विवरण टैब को भरते हैंइस पृष्ठ पर लिंक किया गया वीडियो स्क्रीन पर रूपांतरण के माध्यम से चलता है; ऊपर दिए गए विकल्प वही हैं जिनका वह उपयोग करता है, और इस गाइड सेट का बाकी हिस्सा उनमें से प्रत्येक को गहराई से समझाता है।
जहां तक विंडोज़ का सवाल है, परिवर्तित EXE एक नया प्रोग्राम है। इसका परीक्षण उसी प्रकार करें जैसे इसका वास्तविक उपयोगकर्ता इससे मिलेगा:
.ps1 स्रोत रखें। EXE केवल एक बिल्ड आउटपुट है; प्रत्येक भविष्य का संपादन स्क्रिप्ट से शुरू होता हैवीडियो में पूरा रूपांतरण देखें - मॉड्यूल इंस्टॉल, जीयूआई और कमांड रूट, और समाप्त EXE रनिंग।
Watch Full Videoइसके लिए पॉवरशेल इंजन की आवश्यकता होती है जो विंडोज़ के अंदर ही आता है, जिसे विंडोज़ 10 और 11 डिफ़ॉल्ट रूप से ले जाते हैं। उपयोगकर्ता कुछ भी इंस्टॉल नहीं करता है और कभी भी PowerShell नहीं खोलता है - EXE पृष्ठभूमि में इंजन शुरू करता है और उसे आपकी स्क्रिप्ट सौंपता है।
सी या सी तीव्र अर्थ में नहीं. PS2EXE आपके स्क्रिप्ट टेक्स्ट को एक छोटे .NET होस्ट प्रोग्राम के अंदर एन्कोडेड लपेटता है। जब EXE चलता है, तो होस्ट आपकी स्क्रिप्ट को Windows PowerShell इंजन में फ़ीड करता है। व्यवहार .ps1 चलाने के समान है - पैकेजिंग ही बदलती है।
PS2EXE मुफ़्त है. यह मार्कस स्कोल्टेस द्वारा पॉवरशेल गैलरी पर प्रकाशित एक सामुदायिक मॉड्यूल है, जिसे इंस्टाल-मॉड्यूल -नाम ps2exe के साथ स्थापित किया गया है। वाणिज्यिक पैकेजर्स मौजूद हैं, लेकिन मानक रूपांतरण कार्य के लिए मुफ्त मॉड्यूल वीडियो और इस गाइड में उपयोग किया जाने वाला उपकरण है।