1

这在 3 之前的 PowerShell 中应该可以正常工作。我需要运行两个进程:wuapp.exe 和带有屏幕保护程序选项卡的desk.cpl。我遇到的问题是,一旦我启动 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
4

1 回答 1

9

我不完全确定您wuapp.exe显示为是什么意思explorer.exe,但跟踪该rundll32过程相当简单。

Start-Process与参数一起使用以PassThru使其返回它创建的进程:

$ScreenSaverCpl = Start-Process rundll32 desk.cpl,InstallScreenSaver -PassThru
# Call Stop-Process when no longer needed:
Stop-Process $ScreenSaverCpl
于 2015-11-24T16:31:52.890 回答