Удаленное выполнение команд Powershell

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

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

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

27
задан Guy Thomas
18.02.2023 18:05 Количество просмотров материала 3166
Распечатать страницу

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

3
отвечен Josh 2023-02-20 01:53

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

winexe -U user%password //host "powershell -Command (New-Object System.Net.WebClient).DownloadFile('http://host/filename.iso','c:\file.iso')"
1
отвечен skno 2023-02-20 04:10

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

winexe -U "Domain\PC-Name" //IP Address 'powershell.exe Get-Process'
0
отвечен VAM 2023-02-20 06:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх