这应该在早于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
答案 0 :(得分:3)
我不完全确定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