Я пытаюсь создать процесс монитора надежности Windows и убить его после того, как сделаю снимок экрана.
У меня возникли проблемы с получением процесса и его автоматическим закрытием, прежде чем я сделаю снимок экрана, потому что нет идентификатора процесса, который идентифицирует это окно.
есть ли способ закрыть монитор надежности через PowerShell?
$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
но заканчивает тем, что открывает монитор надежности в процессе проводника, поэтому нет процесса, который можно убить. Согласно вашим собственным комментариям, у монитора надежности нет отчетов командной строки, которые вы могли бы использовать, все, что я могу придумать, это
в коде
$shell = New-Object -ComObject Shell.Application
$window = $shell.Windows() | Where-Object { $_.LocationName -eq "Reliability Monitor" }
$window | ForEach-Object { $_.Quit() }