किसी बैच फ़ाइल को व्यवस्थापक के रूप में चलाने के लिए उसे स्वतः कैसे उन्नत करें
कभी-कभी आपको एक बैच फ़ाइल बनाने की आवश्यकता होती है जिसमें ऐसे आदेश शामिल होते हैं जिनके लिए उन्नत अधिकारों की आवश्यकता होती है। Windows Vista के बाद से Windows में शामिल UAC फ़ंक्शन के कारण, जब कोई बैच फ़ाइल प्रारंभ होती है, तो वह बिना खोले खुलती है आवश्यक एक्सेस अधिकार जब तक आप इसे राइट क्लिक नहीं करते हैं और संदर्भ से "व्यवस्थापक के रूप में चलाएं" का चयन नहीं करते हैं मेन्यू। यहां बताया गया है कि आप एक बैच फ़ाइल कैसे बना सकते हैं जो स्वतः ही ऊपर उठ जाएगी।
विज्ञापन
जारी रखने से पहले, देखें फ़ाइल एक्सप्लोरर के नए मेनू में बैच फ़ाइल (*.bat) कैसे जोड़ें. निम्नलिखित सामग्री को अपनी बैच फ़ाइल की शुरुआत में रखें:
:: स्वचालित रूप से जाँच करें और व्यवस्थापक अधिकार प्राप्त करें V2. @ इको बंद। सीएलएस। इको। ECHO ECHO रनिंग एडमिन शेल। इको: init. सेटलोकल DisableDelayedExpansion. "बैचपाथ =% ~ 0" सेट करें %%k in (%0) के लिए बैचनाम =%% ~ nk सेट करें। "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" सेट करें सेटलोकल EnableDelayedExpansion: checkPrivileges. नेट फ़ाइल 1> एनयूएल 2> एनयूएल। अगर '% एररलेवल%' == '0' (गोटो को प्रिविलेज मिल गया) और (गोटो गेट प्रिविलेज): गेट प्रिविलेज। अगर '% 1'=='ELEV' (echo ELEV और shift/1 और गोटो को प्रिविलेज मिलते हैं) इको। इको *********** ECHO विशेषाधिकार वृद्धि के लिए UAC को आमंत्रित करता है। ECHO ************************ ECHO सेट UAC = CreateObject^("Shell. एप्लिकेशन"^)>"%vbsGetPrivileges%" ECHO args = "ELEV" >> "%vbsGetPrivileges%" WScript में प्रत्येक strArg के लिए ECHO। तर्क >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& "" >> "%vbsGetPrivileges%" इको अगला >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* बाहर निकलें / बी: विशेषाधिकार मिला। सेटलोकल और पुशड। सीडी / डी %~dp0. अगर '% 1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift/1) ::START. REM रन शेल को व्यवस्थापक के रूप में (उदाहरण) - अपनी पसंद के अनुसार यहां कोड डालें। ECHO %batchName% तर्क: %1 %2 %3% 4%5 %6 %7 %8 %9.
अपने स्वयं के बैच कमांड रखें जिन्हें अंतिम पंक्ति के नीचे ऊंचाई की आवश्यकता होती है।
प्रदान किया गया कोड एक विशेष वीबीएस फ़ाइल बनाएगा जो प्रशासक के रूप में नहीं चलने पर इसे पुनः आरंभ करेगा। इसलिए, यदि आप इसे सीमित अनुमतियों के साथ लॉन्च करते हैं, तो आपको एक यूएसी प्रॉम्प्ट प्राप्त होगा जो आपसे इसके आदेश चलाने से पहले विशेषाधिकारों को बढ़ाने का अनुरोध करेगा!
यहां बताया गया है कि यह विंडोज 10 में कैसा दिखता है:
इस कोड के लिए क्रेडिट यहां जाएं मैट.