4

У меня есть сервер Linux с установленным пакетом winexe . Он такой же, как PSExec, и все работает нормально при выполнении простых команд, но когда я запускаю его с помощью этой команды ниже, я получаю ошибку синтаксического анализа!

winexe -U user%password //host "powershell -Command (New-Object System.Net.WebClient).DownloadFile("http://host/filename.iso","c:\file.iso")"

Кто-нибудь может понять, что с этим не так? Это является причиной конфликта в кавычках вокруг URL и имени файла, с кавычками вокруг всей команды?

3 ответа3

3

Попробуйте использовать формат: powershell.exe -Command "& {<command>}"

Это сработало для меня, используя ваш пример:

powershell.exe -Command "& {(New-Object System.Net.WebClient).DownloadFile('http://google.com/robots.txt','c:\robots.txt')}"

Также я использовал одинарные кавычки в DownloadFile

Ссылка: http://technet.microsoft.com/en-us/library/hh847736.aspx

1

Вложенное использование двойных кавычек не сработает. Попробуйте что-то вроде этого:

winexe -U user%password //host "powershell -Command (New-Object System.Net.WebClient).DownloadFile('http://host/filename.iso','c:\file.iso')"
0

Самый простой способ - запустить команду напрямую, используя одинарные кавычки. Например, перечисление процессов может быть сделано следующим образом:

winexe -U "Domain\PC-Name" //IP Address 'powershell.exe Get-Process'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .