我正在尝试在安装脚本的安装部分中运行以下命令。
Execute-Process -Path mbsacli.exe -Parameters '/xmlout /catalog wsusscn2.cab >result.xml' -WindowStyle Hidden
如果我刚跑:
Execute-Process -Path mbsacli.exe -Parameters '/xmlout /catalog wsusscn2.cab' -WindowStyle Hidden
然后该过程正常,但只要我将> reports.xml添加到命令,我就会从mbsacli.exe工具中获得“传递的参数太多”。但是,根据mbsacli工具,这是运行命令的正确方法:
MBSACLI /xmlout /catalog c:\temp\wsusscn2.cab /unicode >results.xml
Powershell击中'>'性格和奇怪的东西?
仅供参考 -
答案 0 :(得分:2)
在您粘贴的示例中,命令解释程序正在解析您的命令并将STDOUT输出到文本文件。在你粘贴的那个中,你通过了Paracute,Execute-Process不知道如何处理。相反,试试这个:
Execute-Process -Path cmd.exe -Parameters "/C MBSACLI /xmlout /catalog C:\fullpath\wsusscn2.cab >results.xml" -WindowStyle Hidden