यदि आप PowerShell स्क्रिप्ट के साथ बहुत अधिक काम करते हैं, तो PowerShell स्क्रिप्ट के लिए निष्पादन योग्य नीति को बदलना अक्सर कुछ ऐसा होता है जो आपको करने की आवश्यकता होती है।
PowerShell निष्पादन नीति Windows PowerShell में एक सुरक्षा उपाय है जो यह निर्धारित करती है कि PowerShell स्क्रिप्ट (ये एक्सटेंशन .ps1 वाली फ़ाइलें हैं) को सिस्टम पर कैसे और क्या निष्पादित किया जा सकता है। यह अनिवार्य रूप से एक सेटिंग है जो यह निर्धारित करने में मदद करती है कि कौन सी स्क्रिप्ट को चलाने की अनुमति है और किन शर्तों के तहत है।
निष्पादन नीतियां विभिन्न प्रकार की हैं:
- वर्जित: यह डिफ़ॉल्ट सेटिंग है। स्क्रिप्ट को चलाने की अनुमति नहीं है.
- सभी हस्ताक्षर: सभी स्क्रिप्ट को चलाने से पहले किसी विश्वसनीय प्रकाशक द्वारा डिजिटल रूप से हस्ताक्षरित होना चाहिए। यह उन स्क्रिप्टों पर भी लागू होता है जिन्हें आपने स्वयं लिखा है।
- RemoteSigned: इंटरनेट से डाउनलोड की गई स्क्रिप्ट किसी विश्वसनीय प्रकाशक द्वारा डिजिटल रूप से हस्ताक्षरित होनी चाहिए। स्थानीय स्तर पर बनाई गई स्क्रिप्ट को डिजिटल हस्ताक्षर के बिना चलाया जा सकता है।
- अप्रतिबंधित: सभी स्क्रिप्ट चलाई जा सकती हैं, चाहे वे कहीं से भी आई हों या उन पर हस्ताक्षर किए गए हों। हालाँकि, यदि कोई स्क्रिप्ट इंटरनेट से आती है, तो उसे निष्पादित करने से पहले आपको चेतावनी दी जाएगी।
- उपमार्ग: कोई चेतावनी नहीं दी जाती और कोई प्रश्न नहीं पूछा जाता। सभी स्क्रिप्ट बिना किसी प्रतिबंध के निष्पादित की जाती हैं।
- अपरिभाषित: वर्तमान दायरे पर कोई निष्पादन नीति निर्धारित नहीं है।
इन नीतियों का उद्देश्य अवांछित या दुर्भावनापूर्ण स्क्रिप्ट को स्वचालित रूप से चलने से रोकना है, जिससे कंप्यूटर सुरक्षा में सुधार होता है।
Windows 11 या 10 में PowerShell निष्पादन नीति बदलें
यह पता लगाने के लिए कि वर्तमान में कौन सी PowerShell नीति सक्रिय है, आप PowerShell में निम्न कमांड चला सकते हैं।
get-executionpolicy
फिर आप तुरंत देखेंगे कि कौन सी पॉलिसी सक्रिय है। इससे यह संकेत मिलता है कि आप स्क्रिप्ट चला सकते हैं या नहीं. दूरस्थ स्क्रिप्ट चलाने के लिए, "रिमोटसाइन्ड" नीति आमतौर पर उपयुक्त होती है। इसलिए यदि आपको "प्रतिबंधित" दिखाई देता है और कोई "रिमोटसाइन्ड" नहीं है, तो आप बाहरी स्क्रिप्ट निष्पादित नहीं कर सकते।
फिर आप PowerShell में बाहरी स्क्रिप्ट को दो तरीकों से अनुमति दे सकते हैं। पहला विंडोज़ 11 सेटिंग्स के माध्यम से है।
सेटिंग्स के माध्यम से
- विंडोज़ 11 सेटिंग्स खोलें।
- "सिस्टम" पर क्लिक करें।
- "डेवलपर्स के लिए" पर क्लिक करें।
- "पॉवरशेल" पर क्लिक करें।
- विकल्प बदलें “स्थानीय पॉवरशेल स्क्रिप्ट को बिना हस्ताक्षर किए चलाने के लिए निष्पादन नीति बदलें। दूरस्थ स्क्रिप्ट के लिए हस्ताक्षर करना आवश्यक है"। यह नीति को "रिमोटसाइनड" में बदल देता है।
पॉवरशेल कमांड के माध्यम से
सभी PowerShell स्क्रिप्ट को अनुमति देने का दूसरा तरीका PowerShell के माध्यम से ही है। आप PowerShell में निम्न आदेश चला सकते हैं:
Set-executionpolicy remotesigned
यदि आवश्यक हो तो आप "स्कोप" भी लागू कर सकते हैं। यह आपको केवल आपके वर्तमान उपयोगकर्ता या कंप्यूटर पर सभी उपयोगकर्ताओं के लिए एक नीति निर्धारित करने की अनुमति देता है। तब आदेश बन जाता है:
केवल वर्तमान उपयोगकर्ता के लिए दूरस्थ पॉवरशेल स्क्रिप्ट की अनुमति दें:
Set-executionpolicy remotesigned -scope currentuser
केवल सभी उपयोगकर्ताओं के लिए दूरस्थ PowerShell स्क्रिप्ट की अनुमति दें:
Set-executionpolicy remotesigned -scope localmachine
केवल वर्तमान पॉवरशेल प्रक्रिया के लिए बाहरी पॉवरशेल स्क्रिप्ट की अनुमति दें
Set-executionpolicy remotesigned -scope process
मुझे आशा है कि मैंने आपको इससे अवगत करा दिया होगा। पढ़ने के लिए आपका शुक्रिया!
और पढ़ें: