कभी-कभी Windows आपको PowerShell से बार कर देगा, एक विकल्प का हवाला देते हुए जो चल रही स्क्रिप्ट को अक्षम करता है। इसे ठीक करने का तरीका यहां बताया गया है।
आप PowerShell पर कुछ आदेश चला रहे हैं और अचानक एक त्रुटि संदेश देखते हैं जिसमें लिखा है, "PowerShell लोड नहीं किया जा सकता क्योंकि इस सिस्टम पर चल रही स्क्रिप्ट अक्षम है।"
आश्चर्य है कि इस समस्या का क्या कारण है और आप इसे कैसे हल कर सकते हैं? हम आपको उन आसान तरीकों के बारे में बताएंगे जो इस समस्या से हमेशा के लिए निपटने में आपकी मदद कर सकते हैं।
चलो गोता लगाएँ!
1. व्यवस्थापक मोड में PowerShell चलाएँ
क्या आप वर्तमान में उचित प्रशासनिक अधिकारों के बिना PowerShell चला रहे हैं? यदि ऐसा है, तो शायद यही समस्या है।
इसलिए, आइए उन चरणों का अन्वेषण करें जिन्हें आपको टूल को व्यवस्थापक मोड में चलाने के लिए लागू करना चाहिए:
- प्रेस विन + एक्स त्वरित पहुँच मेनू खोलने के लिए।
- का चयन करें विंडोज पॉवरशेल (एडमिन) विकल्प।
और अगर वह मदद नहीं करता है, तो देखें Windows PowerShell खोलने के विभिन्न तरीके. लेकिन आपको केवल उन विधियों पर ध्यान केंद्रित करना चाहिए जो आपको दिखाती हैं कि प्रशासनिक विशेषाधिकारों के साथ टूल को कैसे चलाना है।
2. निष्पादन नीति को PowerShell में बदलें
कुछ मामलों में, निष्पादन नीति को बदलने से मदद मिल सकती है। लेकिन इससे पहले कि हम समाधानों का पता लगाएं, पहले आपको यह बता दें कि निष्पादन नीति क्या है और यह कैसे काम करती है।
निष्पादन नीति क्या है, और यह कैसे काम करती है?
निष्पादन नीति एक सुरक्षा सुविधा है जो आपके डिवाइस पर PowerShell स्क्रिप्ट चलाने के तरीके को नियंत्रित करती है। यह केवल यह निर्धारित करता है कि किस प्रकार की स्क्रिप्ट को चलाया जा सकता है और किस प्रकार से बचा जाना चाहिए। सबसे अच्छी बात यह है कि आप इस नीति को अपनी पसंद के अनुसार कॉन्फ़िगर कर सकते हैं।
निष्पादन नीति को कॉन्फ़िगर करते समय आप यहां दिए गए विकल्पों में से चुन सकते हैं:
- वर्जित: यह नीति आपको किसी भी PowerShell स्क्रिप्ट को चलाने से रोकती है।
- अप्रतिबंधित: आपको कोई भी स्क्रिप्ट चलाने की अनुमति देता है लेकिन जब आप संदिग्ध स्क्रिप्ट चलाते हैं तो आपको एक चेतावनी संदेश दिखाता है।
- दूरस्थ रूप से हस्ताक्षरित: जब आप ऑनलाइन डाउनलोड की गई स्क्रिप्ट चलाते हैं तो इस नीति के लिए एक डिजिटल हस्ताक्षर की आवश्यकता होती है। हालाँकि, इसे स्थानीय लिपियों के लिए हस्ताक्षर की आवश्यकता नहीं है।
- उपमार्ग: यह आपको किसी भी स्क्रिप्ट को बिना किसी प्रतिबंध के चलाने की अनुमति देता है। जब आप संदिग्ध स्क्रिप्ट चलाते हैं तो "अप्रतिबंधित" नीति के विपरीत, "बाईपास" नीति आपको कोई चेतावनी संदेश नहीं दिखाएगी। इसलिए, इस नीति को हमेशा कानूनी स्क्रिप्ट चलाते समय ही लागू करें।
- सभी हस्ताक्षरित: यह नीति केवल उन स्क्रिप्ट्स को चलाती है जिन पर किसी विश्वसनीय प्रकाशक द्वारा हस्ताक्षर किए गए हैं।
अब, यदि आप नियमित रूप से PowerShell का उपयोग करते हैं, तो हो सकता है कि आप समय-समय पर निष्पादन नीति को बदलना चाहें। हालाँकि, जब आप अपनी PowerShell स्क्रिप्ट चलाते हैं तो कुछ निष्पादन नीतियाँ त्रुटि संदेश प्रदर्शित कर सकती हैं।
उदाहरण के लिए, "प्रतिबंधित," "ऑलसाइनड," या "रिमोटसाइनड" नीतियों को सक्षम करने से "चल रही स्क्रिप्ट अक्षम है" त्रुटि जैसे त्रुटि संदेश हो सकते हैं।
समस्या को हल करने के लिए, आपको निष्पादन नीति को "अप्रतिबंधित" या "बाईपास" में बदलना होगा। लेकिन वह सब नहीं है; आपको यह भी तय करना होगा कि नीति को कैसे लागू किया जाना चाहिए। उदाहरण के लिए, क्या आप नीति को सभी उपयोगकर्ताओं के लिए या केवल अपने वर्तमान PowerShell सत्र के लिए लागू करना चाहते हैं?
आइए सभी अतिरिक्त एक्सप्लोर करें पॉवरशेल कमांड निष्पादन नीति बदलते समय आपको जोड़ना होगा:
- तात्कालिक प्रयोगकर्ता: यह नीति केवल उस व्यक्ति के सभी PowerShell सत्रों पर लागू होगी, जिसने वर्तमान में डिवाइस पर लॉग इन किया है।
- स्थानीय मशीन: उन सभी उपयोगकर्ताओं पर लागू होता है जिनका डिवाइस पर खाता है। यह नीति केवल स्थानीय उपयोगकर्ताओं द्वारा कॉन्फ़िगर की जा सकती है जिनके पास व्यवस्थापकीय विशेषाधिकार हैं।
- प्रक्रिया: केवल वर्तमान PowerShell सत्र पर लागू होता है। इसका मतलब है कि अगर आप एक नया सत्र शुरू करते हैं तो आपको फिर से नीति पर अमल करना होगा।
- मशीन नीति: यह नीति उन सभी उपयोगकर्ताओं पर लागू होती है जिनका आपके डिवाइस पर खाता है। हालाँकि, इसे केवल नेटवर्क व्यवस्थापकों द्वारा कॉन्फ़िगर किया जा सकता है जिनके पास उपयुक्त अनुमतियाँ हैं। लेकिन स्थानीय प्रशासकों के लिए स्थानीय समूह नीति संपादक का उपयोग करके इस निष्पादन नीति को कॉन्फ़िगर करना अक्सर संभव होता है।
- उपयोगकर्ता नीति: सभी PowerShell सत्रों और किसी विशेष उपयोगकर्ता द्वारा निष्पादित स्क्रिप्ट पर लागू होता है।
अब जबकि सब कुछ स्पष्ट है, आइए देखें कि आप "PowerShell लोड नहीं कर सकते" समस्या से निपटने के लिए संबंधित नीतियों को कैसे निष्पादित कर सकते हैं।
निष्पादन नीति को "अप्रतिबंधित" में कैसे बदलें
समस्या से निपटने का सबसे अच्छा तरीका निष्पादन नीति को "अप्रतिबंधित" में बदलना है। लेकिन इससे पहले, आपको यह जांचने की आवश्यकता है कि प्रत्येक निष्पादन नीति कैसे कॉन्फ़िगर की गई है।
निष्पादन नीतियों को कैसे कॉन्फ़िगर किया गया है, यह जांचने के चरण यहां दिए गए हैं:
- प्रेस विन + एक्स त्वरित पहुँच मेनू खोलने के लिए।
- चुनना विंडोज पॉवरशेल (एडमिन) विकल्पों में से।
- निम्न आदेश टाइप करें और दबाएं प्रवेश करना:
Get-ExecutionPolicy -सूची
यह आपको दिखाएगा कि निष्पादन नीतियों को विभिन्न उपयोगकर्ताओं और प्रणालियों के लिए कैसे कॉन्फ़िगर किया गया है।
वर्तमान सक्रिय उपयोगकर्ता के लिए निष्पादन नीति को "अप्रतिबंधित" में बदलने के लिए, निम्न आदेश टाइप करें और दबाएं प्रवेश करना:
तय करना-निष्पादन नीति अप्रतिबंधित -दायरा तात्कालिक प्रयोगकर्ता
निष्पादन नीति को सभी उपयोगकर्ताओं के लिए "अप्रतिबंधित" में बदलने के लिए, निम्न आदेश टाइप करें और दबाएं प्रवेश करना:
तय करना-निष्पादन नीति अप्रतिबंधित -दायरा स्थानीय मशीन
जब आप कमांड चलाना समाप्त कर लें, तो इन परिवर्तनों को सहेजने के लिए PowerShell को बंद करें और अपने PC को पुनरारंभ करें।
निष्पादन नीति को "बाईपास" में कैसे बदलें
"बायपास" निष्पादन नीति आपको बिना किसी परेशानी के किसी भी PowerShell स्क्रिप्ट को चलाने की अनुमति देगी। लेकिन याद रखें कि यह आपको बग्गी फाइल चलाने की अनुमति भी दे सकता है। इसलिए, इस निष्पादन नीति को हमेशा तभी कॉन्फ़िगर करें जब भरोसेमंद PowerShell फ़ाइलें चल रही हों।
वर्तमान सक्रिय उपयोगकर्ता के लिए निष्पादन नीति को "बाईपास" में बदलने के लिए, निम्न आदेश टाइप करें और दबाएं प्रवेश करना:
तय करना-निष्पादन नीति बायपास -दायरा तात्कालिक प्रयोगकर्ता
और निष्पादन नीति को सभी उपयोगकर्ताओं के लिए "बाईपास" में बदलने के लिए, निम्न आदेश टाइप करें और दबाएं प्रवेश करना:
तय करना-निष्पादन नीति बायपास -दायरा स्थानीय मशीन
जब आप समाप्त कर लें, तो PowerShell को बंद करें और फिर अपने डिवाइस को पुनरारंभ करें।
3. निष्पादन नीति को स्थानीय समूह नीति संपादक के माध्यम से बदलें
स्थानीय समूह नीति संपादक (एलजीपीई) आपके लिए निष्पादन नीति को बदलना भी आसान बनाता है। वास्तव में, यह उपकरण आपको विभिन्न सिस्टम सेटिंग्स को कॉन्फ़िगर करने या पीसी की ढेर सारी समस्याओं का निवारण करने में भी मदद कर सकता है।
याद रखें, मुख्य उद्देश्य निष्पादन नीति को इस तरह बदलना है कि आप अपने पावरशेल स्क्रिप को बिना किसी परेशानी के चला सकें। और ऐसा करने से, आपको PowerShell पर "चल रही स्क्रिप्ट अक्षम है" त्रुटि से छुटकारा मिल जाएगा।
LGPE में निष्पादन नीति को बदलने का तरीका यहां बताया गया है:
- प्रकार समूह नीति संपादित करें स्टार्ट मेन्यू सर्च बार में और चुनें सबसे अच्छा मैच. वैकल्पिक रूप से, चेक आउट करें LGPE खोलने के विभिन्न तरीके.
- पर जाए कंप्यूटर कॉन्फ़िगरेशन > व्यवस्थापकीय टेम्पलेट > Windows घटक > Windows PowerShell.
- पर डबल क्लिक करें स्क्रिप्ट निष्पादन चालू करें विकल्प।
जाँचें सक्रिय डिब्बा। वहां से, क्लिक करें निष्पादन नीति ड्रॉप-डाउन मेनू और चयन करें स्थानीय स्क्रिप्ट और दूरस्थ हस्ताक्षरित स्क्रिप्ट की अनुमति दें. यह विकल्प "RemoteSigned" विकल्प के समान है जिसे हमने पहले खोजा था।
यदि आप बिना किसी प्रतिबंध के सभी स्क्रिप्ट चलाना चाहते हैं, तो इसे चुनें सभी लिपियों को अनुमति दें "निष्पादन नीति" ड्रॉप-डाउन मेनू से विकल्प।
वहां से क्लिक करें आवेदन करना और फिर क्लिक करें ठीक इन परिवर्तनों को सहेजने के लिए।
4. रजिस्ट्री संपादक का उपयोग करके निष्पादन नीति बदलें
यदि अन्य तरीकों से मदद नहीं मिली, तो रजिस्ट्री संपादक का उपयोग करके निष्पादन नीति को बदलने का प्रयास करें। हालाँकि, रजिस्ट्री कुंजियों को संपादित करते समय आपको सावधान रहने की आवश्यकता है। यदि आप गलत कुंजियों को बदलते हैं, तो आप अपने पीसी को नुकसान पहुंचा सकते हैं।
अब, रजिस्ट्री संपादक के माध्यम से निष्पादन नीति को बदलने का तरीका यहां दिया गया है:
- प्रेस विन + आर रन कमांड डायलॉग बॉक्स खोलने के लिए।
- प्रकार regedit और दबाएं प्रवेश करना रजिस्ट्री संपादक खोलने के लिए।
- एड्रेस बार में निम्न कमांड को कॉपी-पेस्ट करें और दबाएं प्रवेश करना:
HKEY_LOCAL_MACHINE\सॉफ़्टवेयर\माइक्रोसॉफ्ट\पावरशेल\1\शैलआईडी\माइक्रोसॉफ्ट।पावरशेल
पता लगाएँ निष्पादन नीति दाईं ओर मान।
यदि मान गुम है, तो इसे इन चरणों के माध्यम से बनाएँ:
- दायीं ओर खाली जगह पर राइट-क्लिक करें।
- चुनना नया > DWORD (32-बिट) मान.
- मान को नाम दें निष्पादन नीति और दबाएं प्रवेश करना.
पर डबल क्लिक करें निष्पादन नीति कीमत। अगला, टाइप करें दूरस्थ रूप से हस्ताक्षरित "मूल्य डेटा" अनुभाग में। यह PowerShell को स्थानीय और हस्ताक्षरित स्क्रिप्ट निष्पादित करने की अनुमति देगा।
वैकल्पिक रूप से टाइप करें उपमार्ग "मूल्य डेटा" अनुभाग में। यह PowerShell को बिना किसी सीमा के किसी भी स्क्रिप्ट को निष्पादित करने की अनुमति देगा।
"मूल्य डेटा" अनुभाग में अपना पसंदीदा मान दर्ज करने के बाद, दबाएं ठीक परिवर्तनों को सहेजने के लिए। अंत में, रजिस्ट्री संपादक को बंद करें और फिर अपने डिवाइस को पुनरारंभ करें।
अपनी PowerShell स्क्रिप्ट को बिना किसी प्रतिबंध के चलाएँ
जब आप अचानक Windows PowerShell पर कुछ कमांड निष्पादित नहीं कर पाते हैं तो यह काफी निराशाजनक हो सकता है। लेकिन अगर आपको "स्क्रिप्ट अक्षम है" त्रुटि आती है, तो हमारे द्वारा कवर किए गए समाधानों से मदद मिलनी चाहिए।
अब, क्या PowerShell अक्सर आपको अन्य समस्याएँ देता है? खैर, और भी उपाय हैं जो आपकी मदद कर सकते हैं।