सवाल क्या विंडोज के लिए कोई 'सुडो' कमांड है?


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


422
2017-09-17 09:24


मूल


मेरा मानना ​​है कि आप जो शब्द खोज रहे हैं वह "ऊंचा" पहुंच है। भले ही आपके क्रेडेंशियल्स के पास व्यवस्थापकीय अनुमति हो, फिर भी आपके क्रेडेंशियल्स के तहत प्रक्रियाओं में आपके पास "sudo" आदेश तक व्यवस्थापक अनुमतियां नहीं होती हैं। विंडोज़ में, वे इसे "एलिवेट" कहते हैं। - surfasb
महज प्रयोग करें su और आपका आदेश। यह पावरहेल का नया उदाहरण खोलता है जो व्यवस्थापक के रूप में चल रहा है। - IGRACH
@IGRACH मेरी शक्तियों पर नहीं ... - jiggunjer
मैं इसका इस्तेमाल करता हूँ doskey sudo= runas /user:Administrator "cmd /k cd \"%cd%\" & $*" - William


जवाब:


ऐसे दोड़ो आदेश।

runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

बस दौडो:

runas /noprofile /user:Administrator cmd 

व्यवस्थापक के रूप में कमांड खोल शुरू करने के लिए


258
2017-09-17 09:29



आप किसी भी विस्तारित उपयोग के लिए प्रोफ़ाइल लोड (उदा। पर्यावरण चर सहित) चाहते हैं। किस मामले में ड्रॉप /noprofile। - Richard
यह मेरे लिए काम नहीं कर रहा है। मेरे पासवर्ड टाइप करने के बाद कमांड प्रॉम्प्ट बंद हो गया है। - Jonas
क्या यह प्रशासक के पासवर्ड के लिए नहीं पूछ रहा है? सुडो के लिए पूछ रहा है तुंहारे पारण शब्द! - n611x007
दुर्भाग्य से, यह गंभीरता से पुराना है। Runas केवल प्रमाण पत्र के एक अलग सेट के तहत आदेश चलाता है। भले ही आपके क्रेडेंशियल्स में व्यवस्थापकीय अनुमतियां हों, इसका मतलब यह नहीं है कि आपके क्रेडेंशियल के तहत सभी प्रक्रियाएं व्यवस्थापक के रूप में चलती हैं। - surfasb
"पुराना" के लिए +1 क्योंकि रनस यूएसी को बाईपास नहीं कर सकता है। इसके बजाए, विंडोज बटन दबाएं, cmd टाइप करें, और Ctrl + Shift + Enter दबाएं। - mellow-yellow


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

Synopsis:
  elevate [(-c | -k) [-n] [-u]] [-w] command

Options:
  -c  Launches a terminating command processor; equivalent to "cmd /c command".
  -k  Launches a persistent command processor; equivalent to "cmd /k command".
  -n  When using -c or -k, do not pushd the current directory before execution.
  -u  When using -c or -k, use Unicode; equivalent to "cmd /u".
  -w  Waits for termination; equivalent to "start /wait command".

ऊंचा उद्देश्य का उद्देश्य यूएसी (उपयोगकर्ता खाता नियंत्रण) के आसपास काम करना या बाईपास करना नहीं है, बल्कि इसके साथ काम करना है। जब तक यूएसी सक्षम है है किसी तरह का संकेत होना चाहिए कुछ प्रक्रिया में बिंदु। अगर आपको पूरी तरह से संकेत देने से छुटकारा पाना पड़ेगा तो आपको करना होगा यूएसी अक्षम करें

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


115
2018-04-12 06:42



यह secpol.msc में "बिना संकेत के ऊंचा" के साथ सही हो जाता है। साथ में, वे वही करते हैं %wheel ALL=(ALL) NOPASSWD: ALL सुडो में - sayap
@ सैयाप, बस स्पष्ट होना, क्या आपका मतलब यह है: ss64.com/nt/syntax-uac.html? - matt wilkie
एलिवेट (v1.3.0) के साथ मुझे मिलती एकमात्र परेशानी यह है कि यह उस प्रोग्राम से त्रुटि कोड नहीं लौटाता है जो इसे बढ़ा रहा है। - Ken
सुडो.बैट: @elevate %* => लाभ! - Joe DF
यह उल्लेख करना अच्छा होगा कि यह बाहरी उपयोगिता है, ओओटीबी गायब है। - Hi-Angel


आप इसका उपयोग कर सकते हैं ऐसे दोड़ो आदेश जो समान है, या आप इसे देख सकते हैं विंडोज के लिए सुडो पर परियोजना SourceForge जो एक सुडो कमांड जोड़ता है।

अंतर सूक्ष्म है:

मान लें कि आपके पास दो उपयोगकर्ता हैं। बॉब एक ​​सामान्य उपयोगकर्ता है और जेम्स एक प्रशासक है।

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

यदि दूसरी तरफ बॉब "सुडो एकॉमैंड" करता है तो कमांड अभी भी बॉब के रूप में चलाया जाता है, लेकिन उन्नत अनुमतियों के साथ - लिनक्स सूडो कमांड की तरह। किसी भी उपयोगकर्ता को सुडो में सक्षम होने से रोकने के लिए आपको एक सूडोर्स उपयोगकर्ता समूह को परिभाषित करना होगा जिसमें सामान्य उपयोगकर्ताओं की सूची शामिल है जिनके पास सुडो का उपयोग करने की अनुमति है। उपयोगकर्ताओं को अभी भी ऊंचाई से पहले प्रमाण पत्र प्रदान करना होगा।

कभी-कभी अंतर महत्वपूर्ण नहीं होता है, कभी-कभी यह होता है, और मुझे लगता है कि दोनों आदेश उपयोगी हो सकते हैं।


66
2017-09-17 09:28



क्या आपको यकीन है? जब मैं उबंटू में सुडो चलाता हूं, यदि मेरी वर्तमान थीम है ~/.themes तो सुडो-एड एप्लिकेशन उस विषय तक पहुंचने में सक्षम नहीं होगा, क्योंकि इसमें नहीं है /home/root/.themes, और डिफ़ॉल्ट बदसूरत gtk विषय का उपयोग करेंगे। - hasen
@ हसन जे - आपकी समस्या सिर्फ इसलिए है क्योंकि कमांड चलाने से पहले ~ / .themes मूल्यांकन करता है (और इससे पहले कि यह रूट पर स्विच हो जाता है)। - Jared
गिटहब पर होस्ट किए गए एक और समाधान, विंडोसू है: github.com/tehsenaus/windosu मैंने अभी पाया, और ऐसा लगता है कि यह बहुत अच्छा काम करता है। पसंदीदा बात यह है कि इंस्टॉल करना बहुत आसान है। बस "एनपीएम इंस्टॉल-जी विंडोसू"। - Venryx


आप भी इसका उपयोग कर सकते हैं स्क्रिप्ट ऊंचाई PowerToys


39
2017-09-17 13:11



बहुत बढ़िया - ठीक वही जो मैं खोज रहा था। मैं एक कमांड के रूप में चलाने के लिए नहीं चाहता था, केवल एक अलग उपयोगकर्ता है, केवल इसे उन्नत विशेषाधिकारों के साथ चलाने के लिए। - orip
इस समस्या के लिए बिल्कुल सही समाधान! रनस को अपने गन्दा वाक्यविन्यास के साथ कौन चाहता है? - Stabledog
मैंने अक्सर इच्छा की है कि एलिवेट कमांड विंडोज़ में बनाया गया हो। यह एक शानदार उपकरण है। - nhinkle♦
अब एक है ऊंचाई PowerToys संग्रह उसी लेखक द्वारा जिसमें से एक स्व-लिखित स्क्रिप्ट बनाना विशेष रूप से प्रासंगिक है। - matt wilkie
निश्चित रूप से @barlop नहीं। यह यूएसी के उद्देश्य को हरा देगा। - nhinkle♦


यदि आप वैकल्पिक कंसोल पर स्विच करने के लिए तैयार हैं, तो वहां है ConEmu (मैं लेखक हूँ)। इसकी विशेषताओं में से एक - एक ConEmu विंडो में ऊंचा और गैर-उन्नत टैब दोनों चलाने की क्षमता। टैब्स भी विभिन्न क्रेडेंशियल्स के साथ शुरू किया जा सकता है।

उपयोगकर्ता सुविधा के लिए, बैच-फ़ाइल है csudo.cmd (जिसे आसानी से बैश करने के लिए अपनाया जा सकता है)। में पूरा विवरण पढ़ें परियोजना की विकी। संक्षेप में, जब आप मौजूदा गैर-उन्नत टैब से कुछ कमांड चलाते हैं, उदाहरण के लिए

csudo dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess

ConEmu शुरू हो जाएगा dism नए उन्नत कंसोल / टैब में (Vista में पहले यूएसी प्रॉम्प्ट के साथ या XP में लॉगिन बॉक्स)।

डिफ़ॉल्ट रूप से csudo एक विभाजन में नया कंसोल शुरू होता है (के संपादन के माध्यम से परिवर्तन हो सकता है csudo.cmd सामग्री)।

और निश्चित रूप से आप इसका नाम बदल सकते हैं sudo.cmd अगर आपको "क्लासिक" पसंद है sudo शब्द।

sudo in ConEmu/Windows


26
2017-10-26 07:52



csudo बहुत पहले ConEmu वितरण में शामिल किया गया था। बिल्कुल कोई लिंक की आवश्यकता नहीं है। - Maximus
यहां समस्या यह है कि नया कंसोल टैब sudo'd कमांड के बाद अनुपयोगी हो जाता है। तो आप ऊंचे टैब में काम करना जारी नहीं रख सकते हैं, बस एक प्राप्त करें press enter or esc to exit संदेश। - jiggunjer
बेशक आप नहीं कर सकते। यूनिक्स पर भी आप गैर-उन्नत टर्मिनल पर वापस आ गए हैं sudo आदेश अपना काम किया जाता है! आप गलत तरीके से जा रहे हैं। - Maximus
1) यदि आप एक नई विंडो या टैब खोलने वाले हैं तो आप इसे भी रख सकते हैं, चलो उपयोगकर्ता चुनें कि क्या वे जारी रखना चाहते हैं। 2) मेरे उबंटू पर मुझे हर समय सूडो नहीं करना पड़ता है, ऊंचाई मुझे लगता है कि कुछ मिनट तक रहता है। 3) इस एप्लिकेशन में लाखों विकल्प हैं, फिर भी इसके लिए कुछ भी नहीं है? शायद मैं खराब हूँ। - jiggunjer


त्वरित विधि:

सुडो जोड़ने के लिए तीन कदम।

  1. ओपन पावरशेल।

  2. निम्न स्क्रिप्ट (Ctrl + C) की प्रतिलिपि बनाएँ और इसे PowerShell (Alt + Space + E + P) में पेस्ट करें:

$script_path="$HOME\Documents\Scripts"; if (!(test-path $script_path)) {New-Item -ItemType directory $script_path} if (!(test-path $profile)) { new-item -path $profile -itemtype file -force }". $script_path\sudo.ps1" | Out-File $profile -append; "function sudo(){if (`$args.Length -eq 1){start-process `$args[0] -verb `"runAs`"} if (`$args.Length -gt 1){start-process `$args[0] -ArgumentList `$args[1..`$args.Length] -verb `"runAs`"}}" | Out-File $script_path\sudo.ps1; powershell
  1. मारो दर्ज

यह स्थायी रूप से सक्षम होगा sudo PowerShell में कमांड।

उपयोग:

sudo <process-name> [param1 [param2 [param3]]]

उदाहरण:

sudo explorer
sudo notepad
sudo powershell
sudo cmd
sudo taskmgr
sudo tasklist
sudo taskkill /IM Skype.exe /PID 8496

सीखने के लिए लंबी विधि:

नोट: मैंने उपरोक्त स्क्रिप्ट बनाने के लिए दोनों लेखों से स्क्रिप्ट मिश्रित की है। इसके बजाय नोटपैड में स्क्रिप्ट को मैन्युअल रूप से चिपकाते हुए मैंने जोड़ा Out-File बचाने के लिए बयान ps1 तथा $profile लिपि से फ़ाइलें।

युक्ति: यदि आप यूएसी पॉपअप (मेरे जैसे) का बहुत बड़ा प्रशंसक नहीं हैं, तो * .reg फ़ाइल में निम्न को सहेजें और इसे चलाएं:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000

23
2017-08-28 10:36



मुझे इस सवाल के लिए पावरहेल समाधान पसंद है। यह कुछ बढ़ाने के लिए सबसे आसान तरीका होना चाहिए। मौजूदा .bat फ़ाइलों को आसानी से पीओएसएच में परिवर्तित किया जा सकता है - Mitchell Skurnik
विंडोज़ 10 पर यह त्रुटि मिली: . : File C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on this system. - sowrov
@ सोवरोव, देखें [यह आलेख] (www.faqforge.com/windows/windows-powershell-running-scripts-is-disabled-on-this-system/)। डिफ़ॉल्ट रूप से PowerShell स्क्रिप्ट किसी भी Windows स्थापना पर अक्षम हैं। आपको इसे इस कमांड के साथ सक्षम करने की आवश्यकता है set-executionpolicy remotesigned। इसके अलावा अन्य विकल्प remotesigned में वर्णित हैं आधिकारिक दस्तावेज़। - vulcan raven
पाठकों ने नोट किया कि यह पीएस स्क्रिप्ट एक रैपर है powershell -c start -verb runas program.exe कार्यक्षमता। आपको भी ध्यान दें ऊपर नहीं उठा सकते हैं इस तरह cmd प्रॉम्प्ट (मूल रूप से) के साथ। पावरहेल सबसे अच्छा मूल विकल्प है। - jiggunjer


यदि आप इसे विंडोज पर कर रहे हैं, तो कुछ अन्य उत्तरों में उल्लिखित रन एएस कमांड के अलावा, माउस के साथ ऐसा करने के तरीके भी हैं।

यदि आप इसे दबाते हैं खिसक जाना कुंजी के रूप में आप विंडोज़ में सबसे निष्पादन योग्य फ़ाइलों पर राइट-क्लिक करें, आपको कुछ और उन्नत विकल्प नोटिस करना चाहिए। इनमें से एक है "Run As..."विकल्प (मुझे लगता है कि इसे"Run As Administrator"विस्टा से आगे)।

आप माइक्रोसॉफ्ट से रनए के एक और उन्नत संस्करण भी डाउनलोड कर सकते हैं, जिसे बुलाया जाता है ShellRunAs, इसमें अंतर्निहित RunAs कमांड पर कमांड लाइन और ग्राफ़िकल मोड दोनों में वृद्धि हुई है, जिसमें आपको खाता प्रमाण-पत्र सहेजने सहित


20
2017-09-17 11:22





Surun नि: शुल्क, ओपन-सोर्स एप्लिकेशन है जो कुछ प्रोग्रामों को उपयोगकर्ता रजिस्ट्री को बदलने या पर्यावरण चर को संशोधित किए बिना पासवर्ड प्रदान किए बिना प्रशासनिक अधिकारों के साथ चलाने की अनुमति देता है।

जब मैं विंडोज एक्सपी का उपयोग कर रहा था तो यह ऐप मुझे बहुत मदद करता है। बीटा विंडोज 7 के तहत काम करता है।


3
2017-11-17 15:24



सुरुन एक महान काम करता है। हालांकि कभी-कभी विंडोज 8 और 8.1 के तहत इसके डिफ़ॉल्ट आदर्श नहीं होते हैं। चूंकि यह विंडोज के रन को फंक्शन के रूप में बदल देता है, इसलिए आप स्टार्ट स्क्रीन पर राइट क्लिक के साथ कमांड प्रॉम्प्ट शुरू करने में सक्षम नहीं हैं। - Wolf


जैसा कि आपने शायद पाया है, रनस आपको किसी अन्य उपयोगकर्ता के रूप में चलाने देगा, लेकिन यह ऊंचाई नहीं कर सकता है और यह वर्तमान निर्देशिका, पर्यावरण चर या लंबी कमांड लाइनों को पास नहीं करता है।

हैमिल्टन सी खोल हल करता है कि एक वास्तविक सु और सूडो के साथ। su आपको किसी अन्य उपयोगकर्ता के रूप में कमांड चलाने देता है; सुडो (वास्तव में सु के लिए उपनाम) आपको एक कमांड चलाता है। आप एक अलग उपयोगकर्ता के रूप में ऊंचा चल रहे दोनों भी कर सकते हैं। वर्तमान निर्देशिका, पर्यावरण चर और लंबी कमांड लाइनें कॉलर के संदर्भ में सु रनिंग के बीच साझा मेमोरी हैंडशेक के माध्यम से पारित की जाती हैं और स्वयं की प्रतिलिपि नए प्रमाण-पत्रों के साथ एक इंटरल्यूड के रूप में चलती है जो तब बच्चे को शुरू करती है। पूर्ण प्रकटीकरण: मैं लेखक हूं।


3
2017-09-06 15:01





यह स्क्रिप्ट नौकरी करता है:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript //NoLogo %temp%\sudo.tmp.vbs

इसे के रूप में सहेजें sudo.cmd फिर इसे अपने पैथ में जोड़ें

ध्यान दें runas इसका अर्थ है "व्यवस्थापक के रूप में चलाएं" और "अन्य उपयोगकर्ता के रूप में चलाएं"

यहां से लिया गया और आउटपुट से cscript.exe शीर्षलेख को हटाने के लिए थोड़ा संपादित किया गया


1
2018-01-10 21:08



यह एक नया कंसोल बनाता है। Sudo'd कमांड पूरा होने के बाद नई विंडो गायब हो जाएगी - ताकि आप आउटपुट भी पढ़ सकें। - jiggunjer
निराशापूर्वक हां। लेकिन इसका उपयोग कुछ बुनियादी आदेशों (प्रतिलिपि), जीयूआई उपकरण, या एक व्यवस्थापक cmd खोलने के लिए किया जा सकता है। - Charles Milette


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

आप इसे किसी भी खोल (cmd या powerhell) में चला सकते हैं

powershell Start-Process -verb runAs path-to-your.exe "-all -args -in -quotes"

1
2017-11-20 19:58