Я пытаюсь запустить сценарий PowerShell (с параметрами) из python ( версия 3.8.3 ), и после прочтения многих сообщений stackoverflow я пришел к следующему коду:
import subprocess
path = r"'C:\Program Files\Company\Some space\Some-Script.ps1'"
args = r"-UserId abcd1234 -PageUri https://example.com/testapp -Privileges @('ReadOnly', 'ReadWrite')"
full_command = f'"& {path} {args}"';
result = subprocess.run(['powershell.exe', full_command ], capture_output=True)
print('printing out ...')
print(result.stdout)
print('printing error ...')
print(result.stderr)
Однако, когда я запускаю приведенный выше сценарий python, создается следующий вывод ... который в основном просто выгружает команду powershell обратно, не выполняя ее (судя по всему)
printing out ...
b"& 'C:\\Program Files\\Company\\Some space\\Some-Script.ps1' -UserId abcd1234 -PageUri https://example.com/testapp -Privileges @('ReadOnly', 'ReadWrite')\r\n"
printing error ...
b''
Приведенный выше код python был сгенерирован с помощью следующей команды оболочки Windows, которая отлично работает:
powershell.exe "& 'C:\Program Files\Company\Some space\Some-Script.ps1' -UserId abcd1234 -PageUri https://example.com/testapp -Privileges @('ReadOnly', 'ReadWrite')"
Может ли кто-нибудь сказать мне, в чем проблема с моим python код?