سؤال هل هناك أي أمر 'sudo' لـ Windows؟


أعمل دائمًا على حساب غير مسؤول على كمبيوتر يعمل بنظام Windows. أحيانًا أحتاج إلى تثبيت برامج تتطلب وصول المشرف. لأنني في الغالب استخدم موجه أوامر Windows ، هل هناك أمر Windows لتصعيد الامتيازات ، على غرار أمر محطة لينكس sudo؟


422
2017-09-17 09:24


الأصل


أعتقد أن المصطلح الذي تبحث عنه هو الوصول "المرتفع". على الرغم من أن بيانات الاعتماد الخاصة بك تتمتع بإذن مسؤول ، إلا أن العمليات الموجودة ضمن بيانات الاعتماد الخاصة بك لا تملك أذونات المسؤول حتى "sudo" الأمر. في ويندوز ، يسمونه "رفع". - surfasb
مجرد استخدام su وأمرك. يفتح مثيل جديد من powershell الذي يعمل كمسؤول. - 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
أليس هذا السؤال عن كلمة مرور المسؤول؟ sudo يسأل عن ك كلمه السر! - n611x007
لسوء الحظ ، هذا أمر بالغ الخطورة. Runas يعمل فقط أوامر تحت مجموعة مختلفة من بيانات الاعتماد. على الرغم من أن بيانات الاعتماد الخاصة بك تحتوي على أذونات المسؤول ، إلا أنها لا تعني أن جميع العمليات تحت بيانات الاعتماد الخاصة بك تعمل كمشرف. - surfasb
+1 لـ "عفا عليها الزمن" نظرًا لأن runas لا يمكنها تجاوز UAC. بدلاً من ذلك ، اضغط على الزر Windows ، واكتب cmd ، واضغط Ctrl + Shift + Enter. - mellow-yellow


اكتشفت رفع اليوم ما "تنفيذ أمر بامتياز امتياز UAC. وهذا مفيد للعمل داخل أوامر الأوامر أو الملفات الدفعية." انها ليست هي نفسها 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".

لا يهدف الغرض من Elevate إلى العمل أو تجاوز UAC (التحكم في حساب المستخدم) ، ولكن للعمل معه. طالما تم تمكين UAC هناك لديها ليكون نوعا من موجه في بعض أشر في هذه العملية. إذا كنت بحاجة إلى التخلص من المطالبة بالكلية فعليك أن تفعل ذلك تعطيل UAC.

نقطة التخفيف من حدة الألم تتصاعد من عملية معينة من قشرة غير متميزة ، ثم تستمر في العمل كالمعتاد. بدون هذا تحتاج إلى بدء موجه الأوامر المميز مع انقر بزر الماوس الأيمن> "تشغيل كمسؤول"، والتي لا يمكن كتابتها بسهولة ، قبل محاولة القيادة المتميزة.


115
2018-04-12 06:42



هذا غني عن الكمال مع "رفع دون المطالبة" في secpol.msc. معا ، يفعلون نفس الشيء %wheel ALL=(ALL) NOPASSWD: ALL في سودو. - sayap
Sayap ، فقط لتوضيح ذلك ، هل تعني هذا: ss64.com/nt/syntax-uac.html؟ - matt wilkie
المشكلة الوحيدة التي أجدها مع الارتفاع (v1.3.0) هي أنها لا تعيد رمز الخطأ من البرنامج الذي ترتديه. - Ken
Sudo.bat: @elevate %* => الربح! - Joe DF
سيكون من الجميل أن أذكر أنه من المرافق الخارجية ، في عداد المفقودين OOTB. - Hi-Angel


يمكنك استعمال ال اهرب مثل الأمر الذي هو نوع مماثل ، أو يمكنك التحقق من sudo لنظام التشغيل Windows المشروع في سورس مما يضيف قيادة sudo.

الفرق خفي:

لنفترض أن لديك مستخدمين. بوب هو مستخدم عادي وجيمس هو المسؤول.

إذا قمت بتسجيل الدخول باسم Bob واستخدم "runas james acommand" ، يتم تشغيل الأمر كما لو كان يتم تشغيله بواسطة James ، بحيث يصل إلى إعدادات مستخدم James وأي تغييرات للمستخدم تدخل إلى James مستنداتي لذا ، إذا كنت تقوم بتثبيت تطبيق ، فسيتم تثبيته على أنه James ، وليس كـ Bob.

إذا كان من ناحية أخرى بوب "sudo acommand" لا يزال الأمر يعمل مثل بوب ، ولكن مع أذونات مرتفعة - تماما مثل الأمر sudo Linux. لمنع أي مستخدم من الحصول على sudo ، يجب عليك تحديد مجموعة مستخدمين sudoers تحتوي على قائمة المستخدمين العاديين الذين لديهم إذن للارتقاء باستخدام sudo. لا يزال يتعين على المستخدمين تقديم بيانات الاعتماد قبل الارتفاع.

في بعض الأحيان ، لا يكون الفرق مهمًا ، وأحيانًا يكون كذلك ، وأجد أن كلا الأمرين يمكن أن يكونا مفيدًا.


66
2017-09-17 09:28



هل أنت واثق؟ عندما أجري sudo في ubuntu ، إذا كان موضوعي الحالي في ~/.themes عندئذٍ لن يتمكن التطبيق sudo-ed من الوصول إلى هذا الموضوع ، لأنه ليس موجودًا /home/root/.themes، وسوف تستخدم موضوع gtk القبيح الافتراضي. - hasen
hasen j - مشكلتك هي فقط بسبب تقييم ~ / .themes قبل تشغيل الأمر (وبالتالي قبل أن ينتقل إلى الجذر). - Jared
حل آخر ، باستثناء استضافة على GitHub ، هو windosu: github.com/tehsenaus/windosu أنا فقط وجدت ذلك ، ويبدو أنه يعمل بشكل جيد. الشيء المفضل هو أنه من السهل تركيبه. فقط "تثبيت npm -g windosu". - Venryx


يمكنك أيضا استخدام سيناريو رفع PowerToys.


39
2017-09-17 13:11



رائع - بالضبط ما كنت أبحث عنه. لم أكن أرغب في العمل كأمر له مستخدم مختلف ، فقط لتشغيله بامتيازات مرتفعة. - orip
بالضبط الحل الصحيح لهذه المشكلة! من يريد Runas مع تركيبه الفوضوي؟ - Stabledog
لقد تمنيت في كثير من الأحيان أن تكون قيادة الأمر قد تم بناؤها في النوافذ. إنها أداة رائعة. - nhinkle♦
هناك الآن رفع مجموعة PowerToys من قبل نفس المؤلف منها خلق سيناريو الذاتي رفع له أهمية خاصة. - matt wilkie
barlop بالطبع لا. من شأنه أن يهزم غرض UAC. - nhinkle♦


إذا كنت على استعداد للتبديل إلى وحدات تحكم بديلة ، هناك كونسول إمولاتور (أنا المؤلف). واحدة من ميزاته - القدرة على تشغيل كل من علامات التبويب مرتفعة وغير مرتفعة في نافذة ConEmu واحدة. يمكن بدء علامات التبويب بأوراق اعتماد مختلفة أيضًا.

لراحة المستخدم ، هناك ملف دفعي csudo.cmd (والتي يمكن اعتمادها بسهولة لباش). قراءة الوصف الكامل في ويكي المشروع. باختصار ، عند تشغيل بعض الأوامر من علامة تبويب غير مرتفعة ، على سبيل المثال

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

سوف يبدأ ConEmu dism في لوحة المفاتيح / علامة التبويب الجديدة المرتفعة (مع مطالبة UAC السابقة في 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) في بلدي أوبونتو ليس لدي sudo في كل مرة ، يستمر الارتفاع بضع دقائق على ما أعتقد. 3) هذا التطبيق لديه مليون خيارات ، ولكن لا شيء لهذا؟ ربما أنا مدلل - jiggunjer


طريقة سريعة:

ثلاث خطوات لإضافة sudo.

  1. افتح PowerShell.

  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 الملفات من البرنامج النصي.

نصيحة: إذا لم تكن من أكبر المعجبين بالنوافذ المنبثقة لـ UAC (مثلي) ، فاحفظ ما يلي في ملف *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



أنا أحب حل powershell لهذا السؤال. هذا يجب أن يكون أسهل طريقة لرفع شيء ما. يمكن بسهولة تحويل ملفات .bat الموجودة إلى POSH - 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
sowrov ، راجع [this article] (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 وظائف. لاحظ أيضا لك لا يمكن رفع مثل هذا مع موجه كمد (أصلا). Powershell هو أفضل خيار أصلي. - jiggunjer


إذا كنت تقوم بذلك على Windows ، فبالإضافة إلى الأمر "تشغيل باسم" كما هو مذكور في إجابتين أخريين ، هناك أيضًا طرق للقيام بذلك باستخدام الماوس.

إذا كنت اضغط باستمرار على تحول عند النقر بزر الماوس الأيمن فوق معظم الملفات القابلة للتنفيذ في Windows ، يجب أن تلاحظ بعض الخيارات المتقدمة الأخرى. واحد من هؤلاء هو "Run As..."الخيار (أعتقد أنه يسمى"Run As Administrator"من ويندوز فيستا فصاعدا.

يمكنك أيضًا تنزيل إصدار أكثر تقدمًا من RunAs من Microsoft ، يسمى ShellRunAs، هذا يحتوي على تحسينات على الأمر RunAs المضمن ، في كل من سطر الأوامر والأوضاع الرسومية ، بما في ذلك السماح لك بحفظ بيانات اعتماد الحساب


20
2017-09-17 11:22





Surun هو تطبيق مجاني مفتوح المصدر يتيح تشغيل بعض البرامج بالحقوق الإدارية دون توفير كلمة مرور دون تغيير سجل المستخدم أو تعديل متغيرات البيئة.

عندما كنت أستخدم Windows XP ، يساعدني هذا التطبيق كثيرًا. بيتا يعمل تحت ويندوز 7.


3
2017-11-17 15:24



سورون يقوم بعمل عظيم. لكن في بعض الأحيان في ظل نظامي التشغيل Windows 8 و 8.1 ، فإن الإعدادات الافتراضية ليست مثالية. لأنه يستبدل تشغيل Windows كدالة ، لن تتمكن من بدء تشغيل موجه الأوامر بالنقر بزر الماوس الأيمن على شاشة البدء. - Wolf


كما اكتشفت على الأرجح ، سوف تتيح لك runas التشغيل كمستخدم آخر ولكن لا يمكنها القيام بالارتفاع ولا تمرر الدلائل الحالية أو متغيرات البيئة أو خطوط الأوامر الطويلة.

هاملتون سي قذيفة يحل ذلك مع سو حقيقي و sudo. يتيح لك SU تشغيل أمر كمستخدم آخر ؛ sudo (في الواقع اسم مستعار ل su) يتيح لك تشغيل أمر مرتفع. يمكنك أيضًا تنفيذ كليهما ، باستخدام ميزة "مرتفع" كمستخدم مختلف. يتم تمرير الدلائل الحالية ومتغيرات البيئة وخطوط الأوامر الطويلة من خلال تبادل رسائل المشترك بين تشغيل سو في سياق المتصل ونسخة من نفسها تعمل فاصلة ببيانات الاعتماد الجديدة التي تبدأ بعد ذلك الطفل. الكشف الكامل: أنا المؤلف.


3
2017-09-06 15:01