В powershell (2.0) прекрасно работает следующее: cmd / c echo "hello" | выберите строку привет
Выводит «привет».
При запуске в режиме удаленного взаимодействия текст не печатается:
Invoke-Command -ComputerName myserver -Credential user.name@domain.tld { cmd /c echo "hello" | select-string hello }
Почему и как мне вводить grep для текста команд (exe-файлов) в режиме удаленного взаимодействия? (Windows7 на клиенте, 2008r2 на сервере. Команды могут работать нормально, порты открыты и т. д.)
Разве ты не хочешь делать:
Invoke-Command -ComputerName localhost { cmd /c echo "hello"} | select-string "hello"
Выход Select-String
это не строка, а MatchInfo
, который нельзя вернуть в течение Invoke-Command
подключение.
Просто передайте результаты Select-String
к Out-String
, и вы получите результат ~:
Invoke-Command -ComputerName myserver -Credential user.name@domain.tld
{ cmd /c echo "hello" | select-string hello | out-string }