如何在PowerShell中启动和停止进程?

时间:2015-11-24 16:08:21

标签: powershell start-process

这应该在早于3的PowerShell中正常工作。我需要运行两个进程:wuapp.exe和desk.cpl与ScreenSaver的选项卡。我遇到的问题是,一旦我启动wuapp.exe,进程名称将在任务管理器中显示为explorer.exe - 当前代码适用于wuapp.exe但不适用于每台计算机。另一件事是当我杀死rundll32其他应用程序也将关闭。你有什么建议?

$wshell = New-Object -ComObject Wscript.Shell
Start-Process  wuapp.exe
(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}
Start-Process rundll32 desk.cpl,InstallScreenSaver
Stop-Process -ProcessName rundll32* -Force

1 个答案:

答案 0 :(得分:3)

我不完全确定wuapp.exe显示为explorer.exe的含义,但跟踪rundll32过程相当简单。

使用Start-ProcessPassThru参数让它返回它创建的进程:

$ScreenSaverCpl = Start-Process rundll32 desk.cpl,InstallScreenSaver -PassThru
# Call Stop-Process when no longer needed:
Stop-Process $ScreenSaverCpl