TL; DR - ตัวเลือกเดียวคือวางไข่กระบวนการอื่น (ใหม่cmd.exe
) ในกรณีของ Command Prompt การเริ่มต้นอินสแตนซ์ใหม่ด้วยโทเค็นการเข้าถึงที่มีการอนุญาตที่สูงกว่าจะส่งผลให้หน้าต่างใหม่ถูกสร้างขึ้นเสมอ
ไม่สามารถให้สิทธิ์เพิ่มเติมแก่กระบวนการที่กำลังทำงานอยู่ได้
เมื่อผู้ใช้ที่มีสิทธิ์ระดับผู้ดูแลระบบล็อกอินเข้าสู่เครื่อง Windows ที่เปิดใช้งานการควบคุมบัญชีผู้ใช้ (UAC) จะมีการสร้างโทเค็นการเข้าถึงแยกกันสองรายการ :
- หนึ่งในนั้นที่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบและ
- โทเค็นที่สองที่กรองด้วยการเข้าถึงของผู้ใช้มาตรฐาน
ในขณะที่กระบวนการ (เช่นCMD.EXE
) ถูกสร้างขึ้นก็จะได้รับมอบหมายหนึ่งของทั้งสองราชสกุลเข้าถึง หากกระบวนการเรียกใช้ "การยกระดับ" เป็นผู้ดูแลระบบจะใช้โทเค็นการเข้าถึงที่ไม่มีการกรอง หากกระบวนการไม่ได้รับสิทธิ์ผู้ดูแลระบบจะใช้โทเค็นผู้ใช้มาตรฐานที่ถูกกรอง
เมื่อสร้างกระบวนการแล้วจะไม่สามารถแทนที่โทเค็นการเข้าถึงได้ 1ในเธรดการรักษาความปลอดภัยของแอปพลิเคชัน MSDN นี้สำหรับ Windows Desktopโปสเตอร์ที่ระบุว่าตนเองเป็นสมาชิกของทีมเคอร์เนลของ Windows:
เคอร์เนล NT ไม่เคยตั้งใจจะอนุญาตให้สลับโทเค็นเมื่อกระบวนการเริ่มทำงาน นี่เป็นเพราะการจัดการ ฯลฯ อาจถูกเปิดในบริบทความปลอดภัยเก่าการดำเนินการบนเครื่องบินอาจใช้บริบทความปลอดภัยที่ไม่สอดคล้องกัน ฯลฯ ดังนั้นโดยทั่วไปแล้วจึงไม่เหมาะสมที่จะสลับโทเค็นของกระบวนการเมื่อเริ่มดำเนินการแล้ว แต่นี้ไม่ได้มีการบังคับใช้จนกว่า Vista [เหมืองเน้น] (ที่มาขอบคุณไป@ Ben N )
หมายเหตุ:การควบคุมบัญชีผู้ได้รับการแนะนำให้รู้จักกับการเปิดตัวของ Windows Vista
คำตอบผู้ใช้ขั้นสูงนี้อ้างอิงแหล่งที่มาเพิ่มเติมอีกสองแหล่งที่ยืนยันเช่นเดียวกัน:
ดังนั้นจึงเป็นไปไม่ได้ที่จะยกระดับพร้อมรับคำสั่งหรือกระบวนการอื่น ๆ ในสถานที่ ตัวเลือกเดียวคือวางไข่กระบวนการอื่นด้วยโทเค็นการเข้าถึงใหม่ (ซึ่งอาจเป็นอีกอินสแตนซ์ของกระบวนการดั้งเดิมหากต้องการ) ในกรณีของพรอมต์คำสั่งการเริ่มต้นอินสแตนซ์ใหม่ด้วยโทเค็นการเข้าถึงที่มีการอนุญาตที่สูงกว่าจะส่งผลให้มีหน้าต่างใหม่ที่ถูกสร้างขึ้นเสมอและหากมีการเปิดใช้งานพรอมต์ UAC บนระบบ
1คุณสามารถปรับสิทธิพิเศษในโทเค็นการเข้าถึงที่มีอยู่ด้วยฟังก์ชั่นAdjustTokenPrivilegesแต่ตาม MSDN :
ฟังก์ชัน AdjustTokenPrivileges ไม่สามารถเพิ่มสิทธิ์ใหม่ให้กับโทเค็นการเข้าถึง สามารถเปิดใช้งานหรือปิดใช้งานสิทธิ์ที่มีอยู่ของโทเค็นเท่านั้น