通过PID powershell杀死(closures)可靠性监视器窗口

我想创build一个Windows可靠性监视器的进程,并在我截图后杀死它。

我无法获取该进程,并在截取屏幕之前自动closures它,因为没有标识该窗口的进程ID。

有什么办法通过PowerShellclosures可靠性监视器?

$psi = New-object System.Diagnostics.ProcessStartInfo $psi.CreateNoWindow = $false $psi.UseShellExecute = $true $psi.RedirectStandardOutput = $false $psi.RedirectStandardError = $false $psi.FileName = "Perfmon" $psi.Arguments ="/rel" $process = New-Object System.Diagnostics.Process $process.StartInfo = $psi [void]$process.Start() #$output = $process.StandardOutput.ReadToEnd() $process.id Start-Sleep 5 

perfmon /rel启动perfmon但最终打开资源pipe理器进程中的可靠性监视器,所以没有可以杀死的进程。 根据你自己的意见,可靠性监视器没有你可以使用的命令行报告,所有我能想到的就是

  • 枚举shell的窗口
  • find可靠性监视器
  • 退出窗口

在代码中

 $shell = New-Object -ComObject Shell.Application $window = $shell.Windows() | Where-Object { $_.LocationName -eq "Reliability Monitor" } $window | ForEach-Object { $_.Quit() }