我正在尝试使用 PsExec 在远程计算机上运行 Expand-Archive,解压缩到 Program Files 中的文件夹,但 Expand-Archive 不断返回错误:
Expand-Archive : A positional parameter cannot be found that accepts argument 'Files\Folder'
我认为这意味着 Expand-Archive 进入“程序文件”中的空间并认为一个参数已经完成并开始尝试解释下一个参数。
我使用了该命令的以下变体,都具有相同的结果:
使用 %programfiles% 环境变量在整个 Powershell 部分周围加双引号:
.\PsExec.exe \\computername /s cmd /c "C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command expand-archive c:\temp\bc.zip -destinationpath %programfiles%\Folder"
使用 %programfiles% 环境变量在目标文件夹路径周围加上单引号:
.\PsExec.exe \\computername /s cmd /c C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command expand-archive c:\temp\bc.zip -destinationpath '%programfiles%\Folder'
使用 %programfiles% 环境变量在目标文件夹路径周围加双引号:
.\PsExec.exe \\computername /s cmd /c C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command expand-archive c:\temp\bc.zip -destinationpath "%programfiles%\Folder"
没有引号,使用 %programfiles% 环境变量:
.\PsExec.exe \\computername /s cmd /c C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command expand-archive c:\temp\bc.zip -destinationpath %programfiles%\Folder
完全键入的文件夹路径周围的双引号:
.\PsExec.exe \\computername /s cmd /c C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command expand-archive c:\temp\bc.zip -destinationpath "C:\Program Files\Folder"