เรียกใช้ในฐานะผู้ใช้อื่นและยกระดับ


22

ภายใน Windows Explorer ฉันสามารถคลิกขวาที่ไฟล์ปฏิบัติการและเลือก 'Run as administrator' ซึ่งจะเปิดใช้งานกระบวนการที่เลือกด้วยสิทธิ์ระดับสูงหรือฉันสามารถเลื่อนคลิกขวาบนไฟล์ปฏิบัติการและคลิก 'เรียกใช้ในฐานะผู้ใช้อื่น' ระบุ ชื่อผู้ใช้และรหัสผ่านซึ่งจะเริ่มกระบวนการด้วยสิทธิ์มาตรฐานโดยใช้บริบทผู้ใช้ที่ระบุ

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


ฉันคิดว่า powershell start-processคำสั่งอาจทำเช่นนี้ได้
jiggunjer

คำตอบ:


21

ฉันไม่คิดว่ามีตัวเลือกดังกล่าวอยู่

ในการหลีกเลี่ยงคุณสามารถเริ่มบรรทัดคำสั่งในฐานะผู้ดูแลระบบและดำเนินการคำสั่งต่อไปนี้เพื่อเรียกใช้บรรทัดคำสั่งด้วยสิทธิ์ผู้ดูแลระบบในฐานะผู้ใช้รายอื่น

runas / netonly / ผู้ใช้: YourUser cmd.exe


6
หรือคุณสามารถคลิกขวาที่เรียกใช้จากนั้นเลือกคุณสมบัติ> ความเข้ากันได้จากนั้นเลือกระดับสิทธิ์และทำเครื่องหมายเรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ จากนั้นเลื่อนคลิกขวาที่ไฟล์เรียกทำงานและเรียกใช้ในฐานะผู้ใช้อื่น
JamesTheDev

@NewProgrammerJames Nice ขอบคุณสำหรับอินพุต :)
Yass

@NewProgrammerJames เคล็ดลับนี้ใช้ไม่ได้กับ CMD โดยตรงบน W2008R2 ขึ้นไป แต่ควรปรับแต่งแอปที่กำหนดเอง
เวสเปอร์

สิ่งนี้จะใช้ได้แม้ว่าผู้ใช้จะไม่อยู่ในกลุ่มผู้ดูแลระบบหรือไม่
jiggunjer

@ jiggunjer ไม่เท่าที่ฉันรู้
Yass

10

ใช่psexecทำสิ่งนี้อย่างแน่นอน

ตัวอย่างต่อไปนี้ทำงานได้อย่างสมบูรณ์บน Windows 8.1; เรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบจากนั้น:

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"

จากMike : ใช้งานได้กับ Windows 10!
fixer1234

7

คุณสามารถทำได้ผ่าน PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'

1

ฉันสังเกตเห็นว่านี่เป็นคำถามที่เก่ามาก แต่คำตอบที่ได้นั้นไม่เหมาะและเป็นที่เรียบร้อยแล้ว คำตอบที่มีอยู่ทั้งหมดต้องพิมพ์คำสั่งที่ล้าสมัยและรู้เส้นทางที่แน่นอนเพื่อปฏิบัติการของคุณ ตัวเลือกที่เหมาะจะทำให้สิ่งนี้เป็นไปได้โดยใช้กระบวนการเดียวกับที่คุณใช้สำหรับการเพิ่มระดับสิทธิ์

หากคุณมี Windows ที่ไม่ใช่โฮม (Vista ถึง 10) คุณสามารถใช้ตัวจัดการนโยบายความปลอดภัยเพื่อแจ้งให้คุณระบุรหัสผ่านของคุณเมื่อมีการยกระดับ นอกจากนี้ยังให้คุณเลือกที่จะเลือกผู้ใช้ที่แตกต่างกันอย่างสมบูรณ์และป้อนรหัสผ่านของพวกเขา ... ซึ่งจะทำให้กระบวนการยกระดับการทำงานเป็นพวกเขา

เพียงเปิดเมนูเริ่มและพิมพ์secpol.mscแล้วกด Enter เพื่อเปิดใช้ (ถ้ามี) คุณกำลังมองหาLocal Policies> Security Options> >User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode Prompt for credentialsVista มีตัวเลือกที่คล้ายกันซึ่งไม่ได้กล่าวถึง "โหมดการอนุมัติของผู้ดูแลระบบ" แต่ก็ทำสิ่งเดียวกัน

ฉันคิดว่านี่เป็นตัวเลือกที่เป็นธรรมชาติมากกว่าตัวเลือกอื่น ๆ ที่นำเสนอที่นี่และค่อนข้างชวนให้นึกถึง gksudo บน * ระวัง แต่ถ้า Windows รุ่นของคุณไม่มี secpol.msc คุณจะต้องทำการแฮกเกอร์รีจิสทรีเพื่อเปิดใช้งาน


ฉันทำสิ่งนี้และมันไม่ทำงาน และมันก็มักจะถามหาลายนิ้วมือของฉันแทนแม้ว่าฉันจะไม่ได้กำหนดค่าลายนิ้วมือของฉัน
iroel

@iroel ฟังดูแตกต่างราวกับว่ามีปัญหาเกี่ยวกับการกำหนดค่าระบบย่อยการตรวจสอบความถูกต้องของ windows ของคุณ คุณควรพิจารณาค้นหาวิธีแก้ไขปัญหาของ SU และหากคุณไม่พบสิ่งใดเลยให้ลองโพสต์เป็นคำถาม ระบบทั้งหมดของฉันได้รับการตั้งค่าด้วยวิธีนี้และไม่มีระบบใดที่ขอรหัสประจำตัว ขึ้นอยู่กับบัญชีที่ฉันรับรองว่าพวกเขาขอรหัสผ่านหรือหมายเลขพิน
Cliff Armstrong

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

หากคุณได้รับแจ้งให้ใช้ลายนิ้วมือแสดงว่าคุณได้ตั้งค่าผู้ใช้แล้วคุณกำลังพยายามลงชื่อเข้าใช้เพื่อต้องการลายนิ้วมือหรือมีบางอย่างผิดปกติในการติดตั้ง windows หยุดเต็ม ฉันใช้การตั้งค่านี้กับคอมพิวเตอร์สามเครื่องที่แตกต่างกันและไม่มีใครขอลายนิ้วมือ ฉันตั้งค่าคอมพิวเตอร์นี้ให้กับลูกค้าหลายสิบเครื่อง Windows จะถามรหัส PIN # เมื่อลงชื่อเข้าใช้ด้วย PIN # ที่กำหนดค่าและรหัสผ่านสำหรับผู้ใช้รายอื่น มันใช้วิธีการรับรองความถูกต้องใด ๆ ที่คุณได้กำหนดค่าสำหรับผู้ใช้นั้น
Cliff Armstrong

0

ฉันพบว่าถ้าฉันเข้าสู่ระบบในฐานะบัญชี Run As คุณสามารถตั้งค่าสถานะ "เรียกใช้โปรแกรมนี้เป็นผู้ดูแลระบบ" ในหน้าคุณสมบัติ / ความเข้ากันได้ จากนั้นเข้าสู่ระบบบัญชีรองและดำเนินการกะคลิกเรียกใช้จะเปิดเป็นผู้ดูแลระบบ


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