सवाल किसी प्रोग्राम को बिना * प्रशासक विशेषाधिकार या यूएसी चलाने के लिए मजबूर करें?


क्या कोई तरीका है कि मैं ऐसे प्रोग्राम को मजबूर कर सकता हूं जो सामान्य रूप से प्रशासक विशेषाधिकारों (यूएसी के माध्यम से) के बिना चलाने के लिए आवश्यक हो? (यानी: कोई यूएसी संकेत नहीं है और कोई सिस्टम-व्यापी पहुंच नहीं।)

जोड़ा गया: निष्पादन योग्य स्वयं को संशोधित किए बिना।


जेम्स के जवाब के बावजूद, मुझे कुछ तरीके मिल गए हैं जो यह कर सकते हैं लगभग सामाप्त करो:

  1. निष्पादन योग्य संशोधित करके मैं हटा सकता हूं trustInfo मैनिफेस्ट से प्रविष्टि (या पूरी तरह से मैनिफेस्ट, इसलिए मैं बाहरी का उपयोग कर सकता हूं), जिससे कार्यक्रम यूएसी के बिना शुरू हो सकता है। दुर्भाग्यवश यह निष्पादन योग्य को संशोधित करता है, इसलिए यह आंतरिक चेकसम परीक्षण के तुरंत बाद बाहर निकलता है।
  2. प्रोसेस एक्सप्लोरर का उपयोग करके मैं इसे सीमित उपयोगकर्ता के रूप में लॉन्च कर सकता हूं। हालांकि ऐसा लगता है कि यह मुझे पसंद करने से काफी अधिक सीमित करता है (यह संरक्षित मोड आईई की तरह चलता है और इसलिए मेरे मानक गैर-उन्नत उपयोगकर्ता के मुकाबले काफी कम पहुंच सकता है)।

103
2017-08-04 13:49


मूल


आप निष्पादन योग्य को संशोधित नहीं करते हैं, फिर भी .exe को संशोधित करना आपके प्रयास किए तरीकों में से एक है? - cutrightjm
@ekaj मैंने केवल यही निर्दिष्ट किया है बाद मुझे पता चला कि यह काम नहीं करेगा;) - Andrew Russell
क्या आप शायद प्रोग्राम निर्दिष्ट कर सकते हैं, भले ही आप इसका उपयोग न करें? इससे लोगों को यह जानने में मदद मिल सकती है कि वह किस तक पहुंचने का प्रयास कर रहा है जिसके लिए व्यवस्थापकीय विशेषाधिकारों की आवश्यकता है - cutrightjm
दुर्भाग्य से @ekaj @ekaj नहीं। हालांकि यह विशेष रूप से प्रासंगिक नहीं है: यूएसी एक प्रक्रिया द्वारा ट्रिगर किया जाता है जो प्रक्रिया निर्माण के दौरान ऊंचाई के लिए पूछता है (सामान्य तरीका - जैसा कि इस मामले में - एक मैनिफेस्ट के साथ है)। एक बार प्रक्रिया शुरू हो जाने के बाद, यह अपनी ऊंचाई स्थिति को बदल नहीं सकता है - इससे कोई फर्क नहीं पड़ता कि वह किस प्रतिबंधित संसाधनों तक पहुंचने का प्रयास करता है। - Andrew Russell
यदि किसी प्रोग्राम में कोई प्रकट नहीं होता है और कोई व्यवस्थापक विशेषाधिकार नहीं चलाता है, तो यह संभवतः यूएसी इंस्टॉलर डिटेक्शन के कारण होता है। मैंने यह प्रश्न पोस्ट किया और misha256 का एक अच्छा समाधान है। मैंने इसका परीक्षण किया और मैं पुष्टि कर सकता हूं कि यह काम करता है। superuser.com/questions/857616/... मैंने कुछ शोध किया और मैंने पाया कि इंस्टॉलर डिटेक्शन मौजूद होने का कोई कारण नहीं है। ध्यान दें कि अगर व्यवस्थापक विशेषाधिकार एक मैनिफेस्ट में ट्रस्टइन्फो प्रविष्टि के कारण हैं, तो जाहिर है यह काम नहीं करेगा। - user1258361


जवाब:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Run without privilege elevation"

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

इस पाठ को में सहेजें <name_of_file>.reg और इसे विंडोज रजिस्ट्री में जोड़ें। (उस पर डबल-क्लिक करने से चाल चलनी चाहिए।)

इसके बाद, उस ऐप पर राइट-क्लिक करें जिसे आप व्यवस्थापकीय विशेषाधिकारों के बिना चलाने के लिए चाहते हैं और "विशेषाधिकार उन्नयन के बिना चलाएं" का चयन करें।

कुछ मामलों में - 0.1% कार्यक्रमों की छोटी राशि यूएसी प्रॉम्प्ट के बारे में दो बार पूछ सकती है।


62
2017-07-18 15:20



मैं एप्लिकेशन संगतता टूलकिट शिम का उपयोग करता था, लेकिन यह प्रत्येक फ़ाइल के लिए रजिस्ट्री में प्रत्येक निष्पादन योग्य और बाएं जंक के लिए भी बहुत काम था। यह विधि काम करती है और मुझे यह बहुत पसंद है। - Ben Voigt
इसे स्वीकार करना क्योंकि यह सबसे सरल तरीका प्रतीत होता है, और मैंने (आखिरकार!) इसे सत्यापित करने में सक्षम है। एक बार-ऑफ कमांड लाइन के रूप में तुच्छ रूप से उपयोग करने योग्य होने की बहुत अच्छी संपत्ति भी है (बाहरी को हटा दें " और फिर बारी \" में ")। - Andrew Russell
@Vom - क्या आप पिछले कार्यक्रमों को प्राप्त करने के लिए एक आसान तरीका जानते हैं जो कई बार पूछते हैं? धन्यवाद! - Derek
मेरे पास @ डेरेक के समान समस्या है, एप्लिकेशन लगातार यूएसी के लिए फिर से पूछता रहता है, मुझे सिस्टम व्यापक पहुंच के साथ विश्वास नहीं है लेकिन मुझे इसकी कार्यक्षमता की आवश्यकता है .. - Gizmo
@ jpmc26 मुझे लगता है कि /min एक त्रुटि है समाधान इसके बिना बिल्कुल वही काम करता है। वोम मिश्रित होना चाहिए cmd तथा start स्विच। ऐसा लगता है cmd.exe गलत स्विच की शिकायत नहीं करता है। प्रयत्न cmd /whatever, उदाहरण के लिए। - cdlvcdlv


को बचाए nonadmin.bat:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

अब आप व्यवस्थापक के बिना उन्हें चलाने के लिए प्रोग्राम को खींच और छोड़ सकते हैं।

रजिस्ट्री कुंजी को बदलने के रूप में इसे व्यवस्थापकीय विशेषाधिकारों की आवश्यकता नहीं होती है। इसके अलावा आप संदर्भ मेनू को अव्यवस्थित नहीं करेंगे।

वोम के आधार पर उत्तर


अद्यतन करें: अब उन कार्यक्रमों के साथ काम करना चाहिए जिनके नाम पर रिक्त स्थान भी हैं।


35
2017-10-02 11:27



मैंने कुछ कार्यक्रमों पर कोशिश की जो मेरे ड्राइव पर पहुंच की आवश्यकता थी और यह उन्हें पहचान नहीं पाया या पहले स्थान पर काम नहीं कर सका: / (रूफस rufus.akeo.ie उदाहरण के लिए) - keinabel
@keinabel शायद यह है क्योंकि उन्हें वास्तव में काम करने के लिए व्यवस्थापक की जरूरत है। यह स्क्रिप्ट प्रोग्राम के लिए है जो वास्तव में कुछ ऐसा करने के बिना व्यवस्थापक विशेषाधिकारों की मांग करती है जिसके लिए इसकी आवश्यकता होती है। ड्राइव तक कच्ची पहुंच एक सामान्य व्यवस्थापक-चीज है। - Hjulle
काफी साफ़! इस विधि का उपयोग कर XAMPP स्थापित करने में सक्षम था। - Krishnaraj
यह "सी: \ प्रोग्राम फ़ाइलें \ ..." निर्देशिका में किसी भी निष्पादन योग्य के लिए मेरे लिए काम नहीं कर रहा प्रतीत होता है। मुझे मिलता है Windows cannot find 'C:\Program'. Make sure you typed the name correctly, and then try again। मैंने मामूली विविधताओं और कोई भाग्य के साथ मैन्युअल रूप से कई बार इस आदेश का प्रयास नहीं किया है। कोई विचार? - Jake Smith
रिक्त स्थान वाले फ़ोल्डर में फ़ाइल के स्थान के साथ मुझे एक ही समस्या थी। इसे हल करने के लिए कुछ डबल कोट्स: cmd / min / C "सेट __COMPAT_LAYER = RUNASINVOKER &&" "% 1" - ragnar


मुझे उम्मीद है कि मैं पार्टी के लिए बहुत देर से नहीं हूं, लेकिन मैं एक समान प्रश्न की तलाश में था और यहां कोई जवाब नहीं देखे, मुझे पता चला कि विंडोज़ 'बिल्टिन RunAsकमांड, जब व्यवस्थापक के रूप में चलाया जाता है, तो वह कर सकता है /trustlevel स्विच।

RUNAS /trustlevel:<TrustLevel> program

/showtrustlevels  displays the trust levels that can be used
                  as arguments to /trustlevel.
/trustlevel       <Level> should be one of levels enumerated
                  in /showtrustlevels.

यह मेरे मामले में काम किया। विडंबना यह है कि बिना किसी ऊंचाई के एक कार्यक्रम शुरू करना एक उन्नत कमांड प्रॉम्प्ट की आवश्यकता है। जाओ पता लगाओ। :) मुझे उम्मीद है इससे आपको मदद मिली होगी।


31
2018-01-05 08:15



मैं पुष्टि कर सकता हूं कि यह काम नहीं करता है। मैंने अभी इसका परीक्षण किया और एक त्रुटि मिली: "रनस त्रुटि: चलाने में असमर्थ - (प्रोग्राम का नाम यहां)। अनुरोधित ऑपरेशन को ऊंचाई की आवश्यकता है"। - user1258361
@ user1258361 आपको इस कमांड को उन्नत प्रॉम्प्ट से चलाने की ज़रूरत है, जैसे मैंने बोल्ड में लिखा था ... - Mxx
ऐसा लगता है कि विंडोज 7 पर एक उन्नत प्रॉम्प्ट की आवश्यकता नहीं है ... - SamB
उन्नत प्रॉम्प्ट के साथ परीक्षण किया गया, कमांड लाइन रनस / ट्रस्टलेवल: 0x20000 (प्रोग्राम) का उपयोग किया गया, प्रोग्राम वैसे भी व्यवस्थापक के रूप में चलाया गया। संदर्भ के लिए, 0x20000 मूल उपयोगकर्ता है। - user1258361
एक उन्नत कमांड प्रॉम्प्ट की आवश्यकता है...बिलकुल यह करता है। अन्यथा आप हैं पहले से व्यवस्थापक अधिकारों के बिना और आपके द्वारा शुरू की जाने वाली किसी भी प्रक्रिया में उनकी कमी भी होगी। - Twisty Impersonator


यदि आपके पास एक विशेष एप्लिकेशन है जिसे आप हमेशा यूएसी के बिना चलाने के लिए चाहते हैं, तो आप इसे रजिस्ट्री के साथ लक्षित कर सकते हैं (एक आरईजी फ़ाइल में टेक्स्ट जोड़ें और इसे रजिस्ट्री में आयात करें):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\example\\application.exe"="RunAsInvoker"

इस जवाब के विपरीत, इस समाधान के लिए उपयोगकर्ता इंटरैक्शन में कोई वैकल्पिक क्लिक या परिवर्तन की आवश्यकता नहीं है।

माइक्रोसॉफ्ट इस प्रक्रिया को जोड़ता है RunAsInvoker  "संगतता शिम"


9
2017-09-09 20:16



एक अलग, अभी तक संबंधित सवाल का जवाब इस उत्तर के लिए प्रेरणा प्रदान की। - palswim
आपका बहुत बहुत धन्यवाद! यह एकमात्र चीज थी जो मेरे लिए काम करती थी! मेरे पास एप्लिकेशन था जो विंडोज संदर्भ मेनू से बुलाया जा रहा था, और यह हर जगह से सही ढंग से बुलाए जाने के बावजूद हमेशा प्रशासक के रूप में आ रहा था। इस फिक्स के बाद, एप्लिकेशन को सही ढंग से बुलाया जाना शुरू हो गया। - user
धन्यवाद। दूसरे समाधान ने मेरे लिए ठीक काम किया, लेकिन यह देखना अच्छा लगता है कि शिम्स द्वारा उपयोग की जाने वाली अंतर्निहित तंत्र कैसे है आवेदन किया है एक निष्पादन योग्य करने के लिए। - 0xC0000022L


मैंने आज एमएस एप्लीकेशन अनुकूलन टूलकिट का उपयोग करके इस समस्या को हल किया।

मैंने एक तकनीकी गणराज्य लेख में निर्देशों का पालन किया: http://www.techrepublic.com/blog/window-on-windows/selectively-disable-uac-for-your-trusted-vista-applications/635

मूल रूप से:

1) आप एमएस से लिया गया मिलता है यहाँ ।

2) फिक्स क्लिक करें

3) चुनें RunAsInvoker विकल्प

4) फिक्स पर राइट क्लिक करें और इंस्टॉल करें चुनें


2
2018-05-18 01:05



आपका जवाब वांछित प्रभाव के विपरीत बिल्कुल करता है। मूल सवाल यह था कि एक ऐप को कैसे मजबूर किया जाए जो ऊंचे विशेषाधिकारों को बिना उठाए दौड़ने के लिए कहता है। आपका उत्तर अभी भी यूएसी का उपयोग करता है लेकिन बस उस प्रॉम्प्ट को अक्षम करता है। इस सवाल के लिए यह एक गलत जवाब है। - Mxx
@mxx वास्तव में नहीं। यदि वर्तमान उपयोगकर्ता सीमित है (या आपको यूएसी सक्षम है), तो प्रक्रिया पूरी तरह सीमित विशेषाधिकारों के साथ लॉन्च होगी। - LogicDaemon
@LogicDememon यदि आप वास्तव में लेख पढ़ते हैं, तो आप देखेंगे कि यह बताता है कि यदि आप उन चरणों का पालन करते हैं, आप यूएसी प्रॉम्प्ट के बिना व्यवस्थापक के रूप में एक ऐप चलाएंगे। यह ओपी के लिए क्या पूछता है इसके विपरीत है। - Mxx
@ एमओएस नोप। पढ़ते रहिये TechNet वास्तव में RunAsInvoker क्या करता है। यह वास्तव में विषय-वस्तु के लिए क्या पूछा जाता है, हालांकि यह केवल पुराने ऐप्स के लिए काम करता है। - LogicDaemon
जब तक एक्सप्लोरर, एक गैर-व्यवस्थापक cmd, या कोई अन्य मानक प्रक्रिया अभिभावक है, RunAsInvoker उसी सीमित अधिकारों के साथ चलाएगा। (एक्सप्लोरर डिफ़ॉल्ट रूप से प्रतिबंधित होता है, अन्यथा यह आपको फ़ाइल को हटाने के लिए कभी भी नहीं पूछेगा।) यह वास्तव में नए ऐप्स के साथ भी काम करता प्रतीत होता है। RunAsInvoker का अर्थ है कि यह सटीक उसी एसीएल टोकन को प्राप्त करता है। - SilverbackNet


मैंने प्रोग्राम में निहित फ़ोल्डर पर अनुमतियों को बदलकर इस समस्या को ठीक किया।

मैंने प्रत्येक उपयोगकर्ता को जोड़ा जो उस कार्यक्रम को चलाएगा और उन्हें "पूर्ण नियंत्रण" निजीकृत प्रदान करेगा। इसने समस्या का ख्याल रखा और मैंने "व्यवस्थापक के रूप में चलाएं" को अनचेक कर दिया।

मेरे पास उन उपयोगकर्ताओं के लिए कोई सुरक्षा चिंता नहीं है जो प्रोग्राम चलाएंगे।


0
2018-04-20 04:28





अपने प्रश्न में एंड्रयू ने कहा कि निम्नलिखित ने काफी काम नहीं किया है:

निष्पादन योग्य संशोधित करके मैं ट्रस्टइन्फो एंट्री को हटा सकता हूं   प्रकट (या पूरी तरह से प्रकट, इसलिए मैं एक बाहरी का उपयोग कर सकते हैं),   कार्यक्रम को यूएसी के बिना शुरू करने की अनुमति। दुर्भाग्य से यह संशोधित करता है   निष्पादन योग्य, इसलिए यह आंतरिक जांच के कारण शीघ्र ही बाहर निकलता है   परीक्षा।

मैं उस सॉफ़्टवेयर के लिए बाहरी .manifest फ़ाइल को संशोधित करने में सक्षम था जिसका उपयोग मैं कर रहा था और बदल रहा था

<ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

सेवा मेरे

<ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />

मेरे द्वारा उपयोग किए जा रहे सॉफ़्टवेयर को वास्तव में व्यवस्थापक अधिकारों की आवश्यकता नहीं है, इसलिए मैं इसे यूएसी या व्यवस्थापक पासवर्ड के बिना मानक उपयोगकर्ता खाते पर चलाने में सक्षम था। धन्यवाद!


0
2017-07-21 02:56





नहीं, यदि किसी प्रोग्राम को यूएसी की आवश्यकता है तो यह अपने सैंडबॉक्स के बाहर कुछ एक्सेस करने का प्रयास कर रहा है। कार्यक्रम ऊंचा पहुंच के बिना सही ढंग से नहीं चलेंगे।

अगर आप अधिसूचना से छुटकारा पाने के लिए चाहते हैं, तो आप यूएसी को अक्षम कर सकते हैं।

विंडोज विस्टा पर यूएसी को अक्षम करें: प्रारंभ करें, "उपयोगकर्ता" टाइप करें। "उपयोगकर्ता खाते" पर क्लिक करें। पॉप अप करने वाली विंडो पर, "उपयोगकर्ता खाता नियंत्रण सेटिंग्स" पर क्लिक करें और फिर यूएसी बंद करें।

विंडोज 7 पर यूएसी को अक्षम करें: प्रारंभ करें, "उपयोगकर्ता" टाइप करें। "उपयोगकर्ता खाता नियंत्रण सेटिंग्स" पर क्लिक करें। पसंद बार को नीचे से नीचे तक "कभी भी सूचित न करें" पर खींचें।


-3
2017-08-04 14:09



यूएसी को अक्षम करना वह नहीं है जिसे मैं प्राप्त करने की कोशिश कर रहा हूं। इसके अलावा: यूएसी कैसे काम करता है इसका आपका विवरण केवल सामान्य अर्थ में सही है। कार्यक्रम के लिए यूएसी से अनुरोध करना संभव है जब इसे सख्ती से इसकी आवश्यकता न हो। और प्रोग्राम शुरू होने से पहले यूएसी होता है - एक बार यह चलने के बाद, यदि यह इसकी अनुमतियों से परे कदम उठाता है, तो उसे केवल अनुमति-अस्वीकार त्रुटियां मिलेंगी। - Andrew Russell
सेमेन्टिक्स एक तरफ, आप एक विशिष्ट कार्यक्रम के लिए यूएसी नोटिफिकेशन को "अक्षम" नहीं कर सकते हैं, जबकि अभी भी उनकी पहुंच सीमित कर रहे हैं। - James Watt
जेम्स: असल में - ऐसा लगता है कि आप कर सकते हैं - मैंने अपना प्रश्न अपडेट कर लिया है। - Andrew Russell
प्रोग्राम कोड को संशोधित करने में छोटा, यदि आपको कोई मिल जाए तो मुझे एक समाधान समाधान के बारे में जानना होगा। - James Watt