J W*_*J W 8 powershell powershell-2.0
我正在使用以下行根据其产品ID卸载office 2007
Start-Process C:\Windows\System32\msiexec.exe -ArgumentList "/uninstall {90120000-0030-0000-0000-0000000FF1CE}"
Run Code Online (Sandbox Code Playgroud)
我想在卸载完成后强制重新启动,但是使用-Wait或将结果传递给Out-Null不要等到卸载完成后再处理下一行重启.我也尝试使用cmd卸载但结果相同.
cmd /c "msiexec.exe /uninstall {90120000-0030-0000-0000-0000000FF1CE}"
Run Code Online (Sandbox Code Playgroud)
在处理Restart-Computer命令之前,有没有办法强制PowerShell等到卸载完成?我想可能会写一些东西来检测setup.exe进程何时停止然后再继续重启?
Pau*_*aul 22
Start-Process有一个wait参数:
Start-Process C:\Windows\System32\msiexec.exe -ArgumentList "/uninstall {90120000-0030-0000-0000-0000000FF1CE}" -wait
Run Code Online (Sandbox Code Playgroud)
misexec.exe卸载后重新启动的解决方案是将/forcerestart参数添加到msiexec调用,而不是尝试在powershell中重新启动(Credits to Matt):
Start-Process C:\Windows\System32\msiexec.exe -ArgumentList @("/uninstall {90120000-0030-0000-0000-0000000FF1CE}", "/forcerestart")
Run Code Online (Sandbox Code Playgroud)
Eri*_*ote 13
最简单的解决方法:通过管道传输结果。这将强制等待该过程完成。
不需要start-process或cmd。
您可以通过管道传输到out-default、out-file或out-null,out-host具体取决于您想要如何处理输出。(如果您不关心输出,只需使用out-null。)
& msiexec.exe /uninstall "{90120000-0030-0000-0000-0000000FF1CE}" | Out-Null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18300 次 |
| 最近记录: |