บน Windows 7 มีบรรทัดรับคำสั่งที่สามารถเริ่ม cmd ในฐานะผู้ดูแลระบบหรือไม่ [ซ้ำ]


39

คำถามนี้มีคำตอบอยู่ที่นี่แล้ว:

บน Linux เราสามารถใช้

sudo bash

เพื่อรันเชลล์ในฐานะ superuser

บน Windows 7 เราสามารถใช้

เมนูStart -> (ในช่องค้นหาพิมพ์) cmd -> คลิกขวาที่ผลการค้นหาและเลือก Run as Administrator

เพื่อเรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบ มีบรรทัดรับคำสั่งที่เหมือนกับ Linux sudoหรือsuเพื่อเริ่มเชลล์ในฐานะผู้ดูแลระบบหรือไม่?


11
นอกจากนี้คุณยังสามารถค้นหา cmd (เช่นที่คุณทำไปแล้ว) และกด "ctrl + shift + enter" เพื่อเปิดโปรแกรมที่เลือกในฐานะผู้ดูแลระบบ
Joshua

คำตอบ:


34

runasคำสั่งเป็นสิ่งที่ใกล้เคียงกับสิ่งที่คุณกำลังมองหา:

runas /user:username cmd.exe

รูปแบบคือrunasชื่อผู้ใช้ที่คุณต้องการเรียกใช้เป็นตัวเลือกอื่น ๆ จากนั้นโปรแกรมที่คุณต้องการเรียกใช้

หากคุณอยู่ในโดเมนคุณสามารถใช้:

runas /user:DOMAIN\USERNAME cmd.exe

สามารถเรียกใช้จากRunกล่อง ( Win+ R) หรือจากหน้าต่างคำสั่ง

อย่างไรก็ตามโปรดทราบว่าสิ่งนี้ไม่เหมือนsudoกันทุกประการคุณไม่สามารถใช้เพื่อยกระดับตัวคุณเองได้เพียงเรียกใช้บางสิ่งในฐานะผู้ใช้รายอื่น หากคุณมีสิทธิ์ในการดูแลเป็น runas ไปยังบัญชีของคุณจะให้การเข้าถึงเช่นเดียวกับคำสั่งปกติ (ยกเว้นกรณีของหลักสูตรคุณ runas ที่แตกต่างกันบัญชีผู้ดูแลระบบซึ่งจะให้สิทธิของผู้ดูแลระบบเหล่านั้นไปยังเปลือกใหม่)


2
ยังไม่เหมือนsudo, runasจะไม่แคชรหัสผ่านสำหรับระยะเวลาใด ๆ sudoดังนั้นถ้าคุณกำลังวางแผนในการเข้าคิวขึ้นคำสั่งคู่อย่างรวดเร็วเช่นคุณสามารถมีวิ่งต่อเนื่องของ ดังนั้นเพียงแค่เปิดหน้าต่างคอนโซลและเรียกใช้คำสั่งของคุณที่นั่น
Joshua

ดังนั้นรูปแบบที่สั้นที่สุดคือ "runas / user: DOMAIN \ Administrator cmd.exe" ว้าว ... มันค่อนข้างยาวและจำยาก ... และฉันสามารถสร้างนามแฝงได้ แต่ถ้าฉันอยู่ในคอมพิวเตอร์ของคนอื่นและช่วยเหลือ ? มันจะเป็นความคิดที่ดีถ้า MS สามารถสร้างคำสั่งพิเศษที่เรียกว่า runasadmin?
nopole

5
โจชัว: /savecredถ้าคุณใช้
grawity

+1 และสำหรับผู้ดูแลระบบในท้องถิ่นrunas /user:administrator cmd.exeนั้นไม่ยากที่จะจำหลังจากผ่านไปหลายสิบชนิด ทั้งหมดมันคือคำสั่งตัวเองrunasตามด้วย/user:สวิตช์ตามด้วยผู้ใช้ที่เราต้องการเรียกใช้เป็นแล้วในที่สุดโปรแกรมที่เราต้องการเรียกใช้cmd.exe(พรอมต์คำสั่งในกรณีของเรา) นี่ใกล้เคียงกับหนึ่งบรรทัดที่คุณจะได้รับเมื่อใช้คำสั่งที่พร้อมท์เพื่อยกระดับ นอกจากนี้หากคุณเริ่มต้น -> เรียกใช้บางครั้งมีช่องทำเครื่องหมายเพื่อเรียกใช้โปรแกรมยกระดับฉันไม่ได้ใช้ความพยายามในการหาสิ่งที่ทำให้มันปรากฏ แต่มันเป็นตัวเลือก
MDMoore313

2
ปรากฏว่าตามค่าเริ่มต้นผู้ดูแลระบบไม่มีรหัสผ่าน และบัญชีถูกปิดใช้งานจริง บัญชีผู้ดูแลระบบจะต้องเปิดใช้งานก่อนกำหนดรหัสผ่านจากนั้นจะกลายเป็นผู้ใช้จริงที่คุณสามารถเข้าสู่ระบบและ runas เข้า
CMCDragonkai

11

ลองสร้างทางลัดไปยัง cmd.exe คลิกขวา> คุณสมบัติ คลิกที่ปุ่มขั้นสูง และทำเครื่องหมายในช่อง "เรียกใช้ในฐานะผู้ดูแลระบบ" แล้วคลิกตกลง

กำหนดปุ่มลัดถ้าคุณต้องการ

และคุณสามารถกำหนดตำแหน่งเริ่มต้นสำหรับพรอมต์ CMD เพื่อเริ่มระบบได้เช่น% CD%



3

ใช้SuRun

มันทำงานบน Windows 8 ได้เช่นกัน มันรันแอพพลิเคชั่นในโหมด "admin" โดยไม่มีการแจ้งเตือน แต่คุณสามารถควบคุมได้มากขึ้นว่าแอพพลิเคชั่นใดทำงานอยู่ (คุณสามารถดูได้จากแอปเพล็ตแผงควบคุมของ SuRun) มันใช้งานได้ดีในไฟล์แบตช์ด้วย ...


เพียงหมายเหตุสำหรับ Windows 8 (และ 8.1): ฉันไม่สามารถเปิดใช้งานพรอมต์คำสั่งในฐานะผู้ดูแลระบบเนื่องจาก surun แทนที่ - โดยการตั้งค่าเริ่มต้น - ฟังก์ชัน runas ในตัวในเมนูบริบท
Wolf

1

สร้างแบตช์ไฟล์เช่น sudo.bat และพิมพ์คำสั่งต่อไปนี้แล้วบันทึกใน PATH:

@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 %temp%\sudo.tmp.vbs

อย่างไรก็ตามหากต้องการใช้งานsudo cmd net start fmsสคริปต์จะไม่ทำงานหากมีเครื่องหมายคำพูดในบรรทัดคำสั่ง


2
ซึ่งส่งผลให้ผู้ใช้พร้อมกล่องโต้ตอบ UAC และเรียกใช้คำสั่งที่ต้องการในหน้าต่างแยกต่างหาก
TOOGAM

1

หากคุณต้องการโซลูชันบรรทัดคำสั่ง: ดาวน์โหลด hstart จากhttp://www.ntwind.com/software/hstart.htmlและแตกไฟล์ hstart.exe หรือ hstart64.exe ไปยังตำแหน่งอื่นบนเส้นทางของคุณ คุณสามารถเริ่มต้นพร้อมท์คำสั่งด้วยหรือhstart /runas cmdhstart64 /runas cmd

แต่วิธีที่เร็วที่สุด (ตามที่ระบุไว้ในการแสดงความคิดเห็นสำหรับคำถาม) ยังคงกด Windows ให้พิมพ์cmdและกดCtrl+ +ShiftEnter


1

ฉันรู้สึกผิดหวังกับวิธีแก้ปัญหาที่มีอยู่สำหรับเรื่องนี้ดังนั้นฉันจึงเขียนสคริปต์Node.jsเล็กน้อยซึ่งควรคุ้นเคยกับผู้ใช้ * ระวังมากกว่า

มันยกระดับผู้ใช้ปัจจุบันโดยไม่แจ้งรหัสผ่าน (แค่UAC ) เปลี่ยนเส้นทาง stdin และ stdout และทำงานในหน้าต่างคอนโซลเดียวกัน

https://github.com/tehsenaus/windosu


ใช้งานได้ดี - เพียงแค่พูดsudo <command>และกด Alt + Y ในกล่องโต้ตอบ UAC
Brian Burns


0

ฉันรวมของแท้suและsudoคำสั่งด้วยแฮมิลตัน C เชลล์ของฉันเพื่อเรียกใช้คำสั่งในฐานะผู้ใช้รายอื่นหรือยกระดับ (พร้อมรับคำ UAC) หรือทั้งสองอย่างเช่นยกระดับเป็นผู้ใช้รายอื่น ซึ่งแตกต่างจากrunasและทางเลือกอื่น ๆ ของฉันsuและsudoรู้วิธีการส่งไดเรกทอรีปัจจุบันตัวแปรสภาพแวดล้อมและบรรทัดคำสั่งยาว นี้เป็นผลิตภัณฑ์เชิงพาณิชย์ แต่มีรุ่นฟรี การเปิดเผยแบบเต็ม: ฉันเป็นผู้เขียน แต่ฉันก็มีความสุขที่จะตอบคำถาม


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.