我有一台安装了软件包的 Linux 服务器winexe
。它与 PSExec 相同,在运行简单命令时一切正常,但当我使用下面的命令运行它时,我收到解析错误!
winexe -U user%password //host "powershell -Command (New-Object System.Net.WebClient).DownloadFile("http://host/filename.iso","c:\file.iso")"
有人能弄清楚这是什么问题吗?这是否会导致 URL 和文件名周围的引号与整个命令周围的引号发生冲突?
答案1
尝试使用以下格式:powershell.exe -Command "& {<command>}"
用你的例子来说,这对我有用:
powershell.exe -Command "& {(New-Object System.Net.WebClient).DownloadFile('http://google.com/robots.txt','c:\robots.txt')}"
另外,我在DownloadFile
答案2
嵌套使用双引号不起作用。请尝试以下方法:
winexe -U user%password //host "powershell -Command (New-Object System.Net.WebClient).DownloadFile('http://host/filename.iso','c:\file.iso')"
答案3
最简单的方法是使用单引号直接运行命令。例如,可以按如下方式列出进程:
winexe -U "Domain\PC-Name" //IP Address 'powershell.exe Get-Process'