powershell个别命令在ise和窗口都可以执行,但是QProcess执行无效果也不报错

如下代码,控制远程主机安装一个软件,powershell ise和终端都好使,但是qt程序用QProcess调用就不好使
$user = "lenovo"
$passwd = "1"
$secpwd = convertto-securestring $passwd -asplaintext -force
$cred = new-object System.Management.Automation.PSCredential -argumentlis $user,$secpwd
$session = New-PSSession -ComputerName 192.168.3.40 -Credential $cred
invoke-command -Session $session -ScriptBlock {C:\Users\lenovo\Desktop\酷狗音乐_9.2.29.24113.exe -ArgumentList '/S', '/L1033', '-INSTALL_TYPE=PRESERVE_VERSION';}

qt程序中的调用如下:

QStringList commands;
                 commands.append("$user = '"+hostlist[i].UserName+"'\n");
                 commands.append("$passwd = '"+hostlist[i].PassWord+"'\n");
                 commands.append("$secpwd = convertto-securestring $passwd -asplaintext -force\n");
                 commands.append("$cred = new-object System.Management.Automation.PSCredential -argumentlis $user,$secpwd\n");
                 commands.append("$session = New-PSSession -ComputerName "+hostlist[i].HostIp+" -Credential $cred;\n");
               //  commands.append("Copy-Item -Path  "+filepath+" -Destination C:/Users/"+hostlist[i].UserName+"/Desktop/"+filename+" -ToSession $session; \n");
                 if(install){
                     commands.append("invoke-command -Session $session -ScriptBlock {C:/Users/"+hostlist[i].UserName+"/Desktop/"+filename+" -ArgumentList '/S','/L1033','-INSTALL_TYPE=PRESERVE_VERSION';Write-Host '1111111111111122222222223333333333';}");
                     qDebug()<<"ansibel_copyfile  filename111111"<<filename;
                 }
                 process->start(PSPATH,commands);

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。