Hướng dẫn python subprocess run as administrator - quy trình con python chạy với tư cách quản trị viên

Có cách nào để vượt qua một số runas=True Arg cho chức năng subprocess.run trong Python không? Tôi muốn chạy một quy trình như quản trị viên (nâng cao nó). Cảm ơn vì câu trả lời :) \

Chỉnh sửa: Sử dụng OS Windows.

Hướng dẫn python subprocess run as administrator - quy trình con python chạy với tư cách quản trị viên

mklement0

340K59 Huy hiệu vàng538 Huy hiệu bạc670 Huy hiệu đồng59 gold badges538 silver badges670 bronze badges

Đã hỏi ngày 19 tháng 11 năm 2017 lúc 18:23Nov 19, 2017 at 18:23

Jakub Bláhajakub BláhaJakub Bláha

1.3612 Huy hiệu vàng21 Huy hiệu bạc41 Huy hiệu đồng2 gold badges21 silver badges41 bronze badges

0

Windows có tiện ích dòng lệnh "chạy dưới dạng", có thể được sử dụng như

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

Để tham khảo thêm https://technet.microsoft.com/en-us/l Library/cc771525.aspx

Bạn có thể sử dụng mã này trong mã như bên dưới

import subprocess as sp

prog = sp.Popen(['runas', '/noprofile', '/user:Administrator', 'NeedsAdminPrivilege.exe'],stdin=sp.PIPE)
prog.stdin.write('password')
prog.communicate()

mklement0

340K59 Huy hiệu vàng538 Huy hiệu bạc670 Huy hiệu đồng59 gold badges538 silver badges670 bronze badges

Đã hỏi ngày 19 tháng 11 năm 2017 lúc 18:23Nov 20, 2017 at 5:18

Jakub Bláhajakub Bláhapankaj mishra

1.3612 Huy hiệu vàng21 Huy hiệu bạc41 Huy hiệu đồng2 gold badges15 silver badges30 bronze badges

1

Windows có tiện ích dòng lệnh "chạy dưới dạng", có thể được sử dụng như

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

os.system(r'''
Powershell -Command "& { Start-Process \"notepad.exe\"
 -ArgumentList @(\"C:\\Windows\\System32\\drivers\\etc\\hosts\")
 -Verb RunAs } " '''

Để tham khảo thêm https://technet.microsoft.com/en-us/l Library/cc771525.aspx

Bạn có thể sử dụng mã này trong mã như bên dướiDec 10, 2021 at 7:11

Đã trả lời ngày 20 tháng 11 năm 2017 lúc 5:18

  1. PANKAJ MISHRAPANKAJ MISHRA
  2. 2.4402 Huy hiệu vàng15 Huy hiệu bạc 30 Huy hiệu Đồng
  3. Nếu bạn muốn chạy một lệnh với tư cách là người dùng cùng nhưng với đặc quyền quản trị viên

Vui lòng tham khảo giải pháp này:Aug 21 at 10:51

Hướng dẫn python subprocess run as administrator - quy trình con python chạy với tư cách quản trị viên

Câu trả lời ban đầu có thể được tìm thấy ở đây https://superuser.com/a/753600/1088510Maximilian Hils

Đã trả lời ngày 10 tháng 12 năm 2021 lúc 7:113 gold badges27 silver badges42 bronze badges

Có ba cách tiếp cận:

Sử dụng runas như thể hiện trong câu trả lời này. Nhược điểm của phương pháp này là nó sử dụng tài khoản quản trị viên thay vì các đặc quyền quản trị viên của người dùng hiện tại. Điều này không hoạt động tốt nếu bạn có kế hoạch triển khai phần mềm của mình cho người dùng.

Nếu không, liệu có thể làm như vậy bằng cách chỉ định bất kỳ cuộc tranh luận nào của quy trình con.run không?

  • windows-8.1
  • Python
  • người quản lý
  • effective-permissions

Hỏi ngày 21 tháng 10 năm 2021 lúc 20:52Oct 21, 2021 at 20:52

Hướng dẫn python subprocess run as administrator - quy trình con python chạy với tư cách quản trị viên

4

  • Đúng.Để thử nghiệm, tôi cho rằng bạn có thể chạy: cp = subprocess.run(["whoami","/all"]) Nếu bạn chạy theo dõi quá trình, bạn có thể thấy cây xử lý.

    Ngày 21 tháng 10 năm 2021 lúc 21:13

  • cám ơn.Nếu tôi chạy một tệp python bằng cách nhập tên của nó vào cửa sổ CMD nâng cao, nó sẽ được thực thi dưới dạng quản trị viên phải không?

    Ngày 22 tháng 10 năm 2021 lúc 5:20

  • Bởi vì tôi không thể thấy "chạy làm quản trị viên" trong các tùy chọn cho các tệp PY, nó chỉ xuất hiện cho các tệp thực thi

    Ngày 22 tháng 10 năm 2021 lúc 5:21

  • Nếu quá trình cha mẹ được nâng lên thì đứa trẻ sẽ trong trường hợp này.

    Ngày 22 tháng 10 năm 2021 lúc 11:55