Использование Python для выполнения команд cmd - PullRequest
0 голосов
/ 30 апреля 2018

Здравствуйте, я недавно играл с python и пытался научиться управлять внешними периферийными устройствами и портами ввода / вывода на моем ноутбуке.

Я пытался отключить порты USB и отключить сетевой адаптер. Однако, когда я запускаю свою программу, она не работает. В коде нет определенной синтаксической ошибки, но при его запуске ничего не происходит.

import subprocess


def main():

    print("PROGRAM STARTED")
    subprocess.call(["runas", "/user:Administrator", "cmd.exe /c netsh interface set interface '*' admin=disable"])

    print("Program Exited")


if __name__ == "__main__":
    main()

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Я нашел проблему с кодом. для начала я использовал функцию subprocess.call, но пытался запустить программу с Администратором через python, сделать это через командную строку и использовать эту строку кода вместо

subprocess.run(["powershell","Disable-NetAdapter -Name '*'"])

Примечание * Да, я изменил с cmd на powershell, потому что эту команду было проще использовать.

0 голосов
/ 30 апреля 2018

Я думаю, вы должны попытаться запустить такие команды, как admin в Windows. Это может помочь: https://social.technet.microsoft.com/Forums/windows/en-US/05cce5f6-3c3a-4bb8-8b72-8c1ce4b5eff1/how-to-run-a-program-as-adminitrator-via-the-command-line?forum=w7itproappcompat

Вы также можете изменить свою команду, чтобы печатать вывод в stdout для простой отладки.
print subprocess.check_output(['runas','/user:Bradley', "cmd.exe /c netsh interface set interface '*' admin=disable")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...