Tente
winexe --interactive=1 --user<USER> --password <SERVER> //SERVER powershell.exe
Estou tentando se conectar a um servidor Windows 2012 do Ubuntu.
winexe --user <USER> --password <SERVER> //SERVER cmd.exe
funciona bem.
No entanto,
winexe --user <USER> --password <SERVER> //SERVER powershell.exe'
apenas trava.
Exibe:
Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.
mas depois disso ele apenas trava e não responde aos pressionamentos de tecla.
Existe um parâmetro que eu preciso passar para o PowerShell para que ele seja executado no modo interativo ou qualquer coisa?
EDITAR
Se eu executar o comando acima através de strace, parece que ele está aguardando o servidor enviar algo de volta.
epoll_wait(4, {}, 1, 10) = 0
epoll_wait(4, {}, 1, 10) = 0
epoll_wait(4, {}, 1, 10) = 0
Tente
winexe --interactive=1 --user<USER> --password <SERVER> //SERVER powershell.exe
A maneira mais fácil é executar o comando diretamente usando aspas simples. Por exemplo, listar os processos pode ser feito da seguinte forma:
winexe -U "Domain\PC-Name" //IP Address 'powershell.exe Get-Process'
O Powershell parece ser um "Programa Windows Gui", que tenta interagir com a área de trabalho. Obviamente, isso não é possível, se conectado de remoto (talvez no Windows XP). Para ser interativo e conectar a entrada do powershell ao stdin, use "-Command -".
Que permite ao powershell interagir com stdin. Você pode digitar comandos e ver a saída, mas não obtém o prompt do powershell.
O Win.exe parece bastante desatualizado e não declara o suporte ao Windows Server 2008 e às versões mais recentes do Windows.
O PowerShell foi de código aberto, você pode baixar pacotes do Ubuntu 14.04 e 16.04 .deb
do GitHub: link
Depois de instalá-lo, você pode se conectar remotamente à máquina do Windows Server 2012 com o Enter-PSSession
cmdlet do PowerShell.