В вашем скрипте: отвечающее свойство является логическим.Переменная $ response является либо массивом, содержащим логическое значение (если у вас запущено несколько процессов Chrome, либо логическое значение (если запущен только один процесс Chrome)
Когда вы пишете if ($response -ne 'True')
Вы говорите: «если $Массив ответов не равен строке 'True' ". Редактировать: после тестирования благодаря @ TheIncorrigible1, $ response преобразуется в виде строк
Для выполнения вашего запроса я бы предложил следующее:
$response = get-process -Name chrome
$response | ForEach-Object {
if ($_.Responding) {
#Your process is responding 'no problemo'
Write-Host "$($_.ProcessName) is responding"
}
else {
#Your process is not responding
$_ | stop-process -force #edited after testing
Write-Host "$($_.ProcessName) killed"
}
}
Надеюсь, это поможет:)