Я пытаюсь подключиться к серверу Windows 2012 из Ubuntu.
winexe --user <USER> --password <SERVER> //SERVER cmd.exe
работает просто отлично.
Тем не мение,
winexe --user <USER> --password <SERVER> //SERVER powershell.exe`
просто висит.
Он отображает:
Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.
но после этого он просто зависает и не реагирует на нажатия клавиш.
Есть ли параметр, который мне нужно передать в powershell, чтобы он работал в интерактивном режиме или что-то еще?
РЕДАКТИРОВАТЬ
Если я запускаю указанную выше команду через strace, она, похоже, ждет, пока сервер отправит что-то обратно.
epoll_wait(4, {}, 1, 10) = 0
epoll_wait(4, {}, 1, 10) = 0
epoll_wait(4, {}, 1, 10) = 0
--interactive=1
и--system
? Управление Windows Powershell из терминала LinuxОтветы:
Пытаться
источник
Самый простой способ - запустить команду напрямую, используя одинарные кавычки. Например, перечисление процессов может быть сделано следующим образом:
источник
Powershell кажется «программой Windows Gui», которая пытается взаимодействовать с рабочим столом. Очевидно, что это невозможно, если подключен удаленно (возможно, в Windows XP). Чтобы быть интерактивным и подключить вход PowerShell к стандартному вводу, используйте «-Command -».
Который позволяет PowerShell взаимодействовать с STDIN. Вы можете вводить команды и видеть вывод, но вы не получаете подсказку от powershell.
источник
Winexe звучит довольно устарело и не говорит о поддержке Windows Server 2008 и более новых версий Windows.
PowerShell вышел с открытым исходным кодом, вы можете скачать
.deb
пакеты Ubuntu 14.04 и 16.04 с GitHub:https://github.com/PowerShell/PowerShell
После его установки вы можете удаленно подключиться к компьютеру под управлением Windows Server 2012 с помощью
Enter-PSSession
командлета PowerShell.источник