# Задайте пороговое значение в процентах
$threshold = 50
# Задайте адрес лог файла
$logFile = "C:\windows\rphostkiller.log"
# находим количество ядер
$cpu_cores = (Get-WMIObject Win32_ComputerSystem).NumberOfLogicalProcessors
# Получите список процессов
$processes = Get-Process -Name rphost
foreach ($process in $processes) {
# Получаем сырое значение счётчика нагрузки процесса на ядро
$GetProcessPayload = Get-Counter "\процесс($($process.Name))\% загруженности процессора"
# Получаем нагрузку в пересчёте на весь процессор
$cpuUsage = ($GetProcessPayload.CounterSamples.CookedValue / $cpu_cores)
# Получаем время выполнения замера
$TimeOfGetCounter = $GetProcessPayload.CounterSamples.Timestamp
if ($cpuUsage -ge $threshold) {
# Завершите процесс
# Stop-Process -Id $process.Id -Force
$message = "Завершен процесс: $($process.Name) По причине превышения потребления ресурса процессора: $cpuUsage Время: $($TimeOfGetCounter)"
Add-Content -Path $logFile -Value $message
}
}
Приходится решать задачу админскими средствами. Как говорится: Насилие - наше всё!