Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 21, 2016 10:55:10

Ubhra
От:
Зарегистрирован: 2009-03-04
Сообщения: 133
Репутация: +  2  -
Профиль   Отправить e-mail  

Запуск скрипта .ps1 (python 3)

Добрый день.
Как запустить скрипт powershell из под python 3?



Офлайн

#2 Ноя. 21, 2016 14:21:12

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Запуск скрипта .ps1 (python 3)

subprocess.Popen
Либо через
pywinrm



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Ноя. 21, 2016 16:03:50

Ubhra
От:
Зарегистрирован: 2009-03-04
Сообщения: 133
Репутация: +  2  -
Профиль   Отправить e-mail  

Запуск скрипта .ps1 (python 3)

 import subprocess
subprocess.Popen([r'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'] + [r'C:\Soft_Work\powershell_test\test.ps1'])

Есть проблема, скрипт запуская из под powershell (под админом) все работает.
А из под python ошибка (во вложении).



Отредактировано Ubhra (Ноя. 21, 2016 16:04:26)

Прикреплённый файлы:
attachment 44.png (54,7 KБ)

Офлайн

#4 Ноя. 21, 2016 16:55:53

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Запуск скрипта .ps1 (python 3)

А питон запускаете с админскими правами ?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Ноя. 21, 2016 17:50:09

Ubhra
От:
Зарегистрирован: 2009-03-04
Сообщения: 133
Репутация: +  2  -
Профиль   Отправить e-mail  

Запуск скрипта .ps1 (python 3)

Конечно.
По дефолту powershell блокирует запуск скриптов.
Под админом в консоли прописываю

 Set-ExecutionPolicy Unrestricted
и все начинает замечательно работать, кроме запуска из под python.



Офлайн

#6 Ноя. 21, 2016 23:02:50

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Запуск скрипта .ps1 (python 3)

Не силен в PowerShell, поэтому начну гадать и говорить глупости.
Как я понимаю проблема в правах - и то что дочерний процесс PS не получает тех же прав что и вызывающий интерпретатор питона.
Согласно документу есть разные области видимости действия, может стоить попробовать максимально расширить область и/или установить значение глобально для системы, не текущего сеанса?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version