Я пытаюсь увидеть, запущен ли процесс на нескольких серверах, а затем отформатировать его в таблицу.
get-process -ComputerName server1,server2,server3 -name explorer | Select-Object processname,machinename
Это самая простая часть: когда процесс не существует или сервер недоступен, powershell выдает большую ужасную ошибку, портит таблицу и не продолжает работу. пример
Get-Process : Couldn't connect to remote machine.At line:1 char:12 + get-process <<<< -ComputerName server1,server2,server3 -name explorer | format-table processname,machinename
+ CategoryInfo : NotSpecified: (:) [Get-Process], InvalidOperatio nException + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.Power Shell.Commands.GetProcessCommand
Как мне обойти это? Если я все еще хотел бы получать уведомления, если процесс недоступен или запущен.
powershell
Джейк
источник
источник
get-process
или посмотрите на мой обновленный ответ выше.Краткий ответ: добавьте
$ErrorActionPreference = 'SilentlyContinue'
в начале вашего кода, чтобы вам не нужно было добавлять-ErrorAction SilentlyContinue
к каждой командеДлинный ответ: https://www.gitbook.com/book/devopscollective/the-big-book-of-powershell-error-handling/details
источник
$ErrorActionPreference = ‘SilentlyContinue’