
Suren
28.06.2018
17:51:53
А дальше для взаимодействия с экченджем
Окей. Я делаю неправильно
Как правильно? Нужно, например, вызвать командлет Get-Mailbox

Zart
28.06.2018
17:55:12
а перечитать мой пример?

Suren
28.06.2018
18:12:11

Google

Zart
28.06.2018
18:14:51
ты хоть понимаешь разницу?

Suren
28.06.2018
18:28:39
вообще не то и нет ответа всё равно

Zart
28.06.2018
18:31:56
эм... нет

Suren
28.06.2018
18:32:15
а как? ?

Jim
28.06.2018
18:33:06
это конал пра онемэ?

Suren
28.06.2018
19:32:50
сори за тупость, ну не понимаю, куда смотреть
вероятно, я неправильно описываю свою задачу ?
нужно из питония вызвать павершел, отправить туда команд, считать результат и передать его дальше по программе. и не важно сабпроцессом или чем-то другим
и желательно передавать команды просто строчками, а не создавать файл, а затем вызывать павершелл и передавать туда путь к скрипту

Zart
28.06.2018
19:34:00
я в своем примере это и делаю
запускается павершелл без параметров, на стдин ему подается скрипт из команд, после чего ждём когда он всё прожует и выйдет, результат в переменной

Suren
28.06.2018
19:36:21
чисто твой скрипт
from subprocess import Popen, PIPE
script = '''\
Write-Host "hello, world"
$csp = gwmi win32_computersystemproduct
$csp | fl
'''
proc = Popen(['powershell.exe'], stdin=PIPE, stdout=PIPE)
out, err = proc.communicate(script)
print(out)

Google

Suren
28.06.2018
19:37:27
добавляю в конце .encode()


Zart
28.06.2018
19:39:12
D:\>type ps.py
import sys
from subprocess import Popen, PIPE
script = b'''\
Write-Host "hello, world"
$csp = gwmi win32_computersystemproduct
$csp | fl
'''
proc = Popen(['powershell.exe'], stdin=PIPE, stdout=PIPE)
out, err = proc.communicate(script)
print(out.decode('cp866'))
D:\>py -2 ps.py
Windows PowerShell
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
PS D:\> Write-Host "hello, world"
hello, world
PS D:\> $csp = gwmi win32_computersystemproduct
PS D:\> $csp | fl
IdentifyingNumber : System Serial Number
Name : System Product Name
Vendor : System manufacturer
Version : System Version
Caption : Компьютерная система
PS D:\>
D:\>py -3 ps.py
Windows PowerShell
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
PS D:\> Write-Host "hello, world"
hello, world
PS D:\> $csp = gwmi win32_computersystemproduct
PS D:\> $csp | fl
IdentifyingNumber : System Serial Number
Name : System Product Name
Vendor : System manufacturer
Version : System Version
Caption : Компьютерная система
PS D:\>


Suren
28.06.2018
19:39:13
даже хэллоуворлд не отрабатывает

Zart
28.06.2018
19:39:17
плюс минус похуй
зачем?

Suren
28.06.2018
19:39:51

Zart
28.06.2018
19:40:05
у меня ничего не висит


Suren
28.06.2018
19:40:07
D:\>type ps.py
import sys
from subprocess import Popen, PIPE
script = b'''\
Write-Host "hello, world"
$csp = gwmi win32_computersystemproduct
$csp | fl
'''
proc = Popen(['powershell.exe'], stdin=PIPE, stdout=PIPE)
out, err = proc.communicate(script)
print(out.decode('cp866'))
D:\>py -2 ps.py
Windows PowerShell
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
PS D:\> Write-Host "hello, world"
hello, world
PS D:\> $csp = gwmi win32_computersystemproduct
PS D:\> $csp | fl
IdentifyingNumber : System Serial Number
Name : System Product Name
Vendor : System manufacturer
Version : System Version
Caption : Компьютерная система
PS D:\>
D:\>py -3 ps.py
Windows PowerShell
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
PS D:\> Write-Host "hello, world"
hello, world
PS D:\> $csp = gwmi win32_computersystemproduct
PS D:\> $csp | fl
IdentifyingNumber : System Serial Number
Name : System Product Name
Vendor : System manufacturer
Version : System Version
Caption : Компьютерная система
PS D:\>
что за -2, -3?


Zart
28.06.2018
19:40:42
блядь

vlade11115
28.06.2018
19:40:43
-3 это на винде вызов третьего питона.

Zart
28.06.2018
19:41:06
это демонстрация того что пары мелких фиксов достаточно чтобы в обоих версиях всё работало

Suren
28.06.2018
19:42:06
PS C:\Users\admin\Documents\tsts> python .\tst.py
starting
Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.
PS C:\Users\admin\Documents\tsts> exit
bye
PS C:\Users\admin\Documents\tsts> type .\tst.py
import sys
from subprocess import Popen, PIPE
script = b'''\
Write-Host "hello, world"
$csp = gwmi win32_computersystemproduct
$csp | fl
'''
print('starting')
proc = Popen(['powershell.exe'], stdin=PIPE, stdout=PIPE)
out, err = proc.communicate(script)
print(out.decode('cp866'))
print('bye')
PS C:\Users\admin\Documents\tsts>

b0g3r
28.06.2018
19:43:59

Maxim
28.06.2018
19:44:28

Suren
28.06.2018
19:44:33

Google

Zart
28.06.2018
19:44:56
что "не"?

Suren
28.06.2018
19:45:43
что "не"?
недостаточно? какая у тебя версия? у меня 3.6.2
и вот происходит что происходит - не в фоне запускается повершелл, а прям поверх текущего, блокируя процесс и ничего не выводит

Zart
28.06.2018
19:48:13
попробуй поправить строку с Popen
на
proc = Popen(['powershell.exe', '-NoProfile'], stdin=PIPE, stdout=PIPE)

Suren
28.06.2018
19:58:23

Zart
28.06.2018
20:03:07
запускается и не выходит?

Suren
28.06.2018
20:03:15
именно так
даже хеллоуворлд не выводит

Zart
28.06.2018
20:03:37
как они это делают?

Suren
28.06.2018
20:03:46
мелкософт? это дар такой

Zart
28.06.2018
20:04:29
нет, юзвери

Suren
28.06.2018
20:05:05
я? покажи, пожалуйста, что я там не так сделал, реально не вижу разницы с твоим

Zart
28.06.2018
20:05:43
$PSVersionTable покаж

Suren
28.06.2018
20:06:00
PS C:\Users\admin\Documents\tsts> $PSVersionTable
Name Value
---- -----
PSVersion 3.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 6.2.9200.22199
PSCompatibleVersions {1.0, 2.0, 3.0}
PSRemotingProtocolVersion 2.2

Zart
28.06.2018
20:06:29
вин8.1 без апдейтов..

Suren
28.06.2018
20:07:07
то есть работа этого модуля зависит ещё и от того, что я вызываю?

Zart
28.06.2018
20:10:20
какого модуля?

Suren
28.06.2018
20:10:29
сабпроцесс

Google

Zart
28.06.2018
20:10:42
у тебя странная ебанина в павершелле, причем тут субпроцесс?

Suren
28.06.2018
20:10:58
ну у тебя исполнение нормально проходит, а у меня стопится на вызове повершелла

Zart
28.06.2018
20:11:27
у меня вин10, 5й, и не запорот пока ничем...
я бы попробовал еще добавить -NonInteractive ключ

Suren
28.06.2018
20:13:33

Zart
28.06.2018
20:14:00
глянь в таскманагере

Suren
28.06.2018
20:14:28

Zart
28.06.2018
20:14:52
ctrl-shift-esc
перейти на "детально", правый клик на заголовки столбцов, выбрать столбцы, включить галку у коммандлайн
запустить скрипт и проверить в таскменеджере что у павершелла нет -NoExit флага
чудесато
можно конечно в тот скриптик что зашит в питоновом скрипте вписать exit; в конце
но я хз какого фига происходит
файрволл?

Suren
28.06.2018
20:21:07
хм но ведь даже хэллоуворлд не пишет

Zart
28.06.2018
20:21:08
тьфу, антивир

Suren
28.06.2018
20:21:13
не помогло, не удивительно

Zart
28.06.2018
20:22:48
мкай
можно без пайпов:
D:\>type ps.py
import sys, subprocess
script = '''\
Write-Host "hello, world"
$csp = gwmi win32_computersystemproduct
$csp | fl
'''
out = subprocess.check_output(['powershell.exe', '-NoProfile', '-Command', script])
print(out.decode('cp866'))
D:\>py -2 ps.py
hello, world
IdentifyingNumber : System Serial Number
Name : System Product Name
Vendor : System manufacturer
Version : System Version
Caption : Компьютерная система
D:\>py -3 ps.py
hello, world
IdentifyingNumber : System Serial Number
Name : System Product Name
Vendor : System manufacturer
Version : System Version
Caption : Компьютерная система

ultranoise ?
28.06.2018
21:01:10
господа, а нет никаких кли-тулзов чтобы коннектииться к ci и/или сентри и смотреть че там нового?

Google

ultranoise ?
28.06.2018
21:01:17
типа задеплоился/не задеплоился план и тд

Eugine
28.06.2018
21:01:42
ты точно гуглил?

ultranoise ?
28.06.2018
21:01:50
точно
вопрос не первую неделю мучает
мош я тупой просто но вот какой уж есть

Denis
28.06.2018
21:03:36
Щас модно брать селениум и коннектиться через веб-интерфейс

AkS
28.06.2018
21:04:21
Ох ребята ))) я тут на такую дичь напоролся ... вечерний ржач )) называется
Если кто сталкивался с техникой для дома Xiaomi ))
В частности я решил прошить пылесос ) чтобы он говорил по русски в стиле «кожаные пидОры»
Читаю 4pda ... видео инструкция которая рассказывает как на виртуалку в virtual box накатить Debian там миллион строк копипаста ... твою мать думаю что за пиздец )
По факту ... есть питоновская библиотека ставится pip install python-miio которая позволяет шить хоть пылесосы хоть что угодно на изи
Но чуваки сделали из этого такой «лайфхак» что я сначала зассал в это дело воообще лезть ) пока не увидел строчку pip install среди прочего шлака инструкции ...

Eugine
28.06.2018
21:08:59
смотря какой у тебя ci

AkS
28.06.2018
21:09:09
Короче питон затащил теперь мой пылесос матерится как сапожник

ultranoise ?
28.06.2018
21:09:34

Eugine
28.06.2018
21:09:59
а хоть что-то у атлассиана есть для cli?

ultranoise ?
28.06.2018
21:10:04
ну у него есть апи так то