Você não quer fazer:
Invoke-Command -ComputerName localhost { cmd /c echo "hello"} | select-string "hello"
No powershell (2.0) o seguinte funciona bem e bem: cmd / c echo "olá" | olá! sequência de seleção
Saídas "olá".
Ao executar isso no modo de comunicação remota, o texto não é impresso:
Invoke-Command -ComputerName myserver -Credential [email protected] { cmd /c echo "hello" | select-string hello }
Por que e como eu grep texto de comandos (exefiles) no modo de comunicação remota? (windows7 no cliente, 2008r2 no servidor. Os comandos podem rodar bem, as portas estão abertas, etc)
Você não quer fazer:
Invoke-Command -ComputerName localhost { cmd /c echo "hello"} | select-string "hello"
A saída de Select-String
não é uma string, mas um MatchInfo
, que não pode ser retornado pela conexão Invoke-Command
.
Simplesmente canalize os resultados de Select-String
para Out-String
e você obterá sua saída ~:
Invoke-Command -ComputerName myserver -Credential [email protected]
{ cmd /c echo "hello" | select-string hello | out-string }
Tags powershell remoting