Invoke-Command: продолжить, если при отправке команды на компьютер из списка возникает исключение - PullRequest
1 голос
/ 20 января 2020

Я пытаюсь проверить, доступно ли удаленное взаимодействие на каждом компьютере списка параллельно. Я начал делать это через Invoke-Command и передавал список IP-адресов аргументу -ComputerName. Список выглядит примерно так:

11.111.1.11

22.222.2.22

33.333.3.33

И так далее. Ниже приведен код, упрощенный для краткости.

try
{
    $result = Invoke-Command -ComputerName $computerList -ScriptBlock{ 
        //Do stuff 
    } -ErrorAction silentlycontinue -Credential $auth
}
catch
{
    $_.Exception
}

$result

Это будет работать, если на компьютере из указанного списка доступны службы удаленного взаимодействия, но Invoke-Command выдаст исключение, если не сможет отправить удаленный команда. Чтобы уточнить, компьютер подключен к сети и может быть проверен, но не может получать команды через PSRemoting.

Само по себе это не проблема, но когда возникает исключение, Invoke-Command не будет продолжать делать остальные компьютеры в списке. Исключение прерывает процесс, но я хотел бы, чтобы он пропускал сбойный компьютер (возможно, помечал его как сбой) без остановки.

Я хотел бы иметь возможность сделать это параллельно, потому что это действительно помогите с количеством компьютеров, с которыми я работаю. Было бы очень полезно, если бы кто-то в курсе мог указать мне правильное направление с этим. Большое спасибо!

Для тех, кому это может быть полезно, при принудительном выводе сообщения об исключении:

[XX.XXX.X.XX] Connecting to remote server XX.XXX.X.XX failed with the following error message : WinRM cannot complete the
operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall
exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public
profiles limits access to remote computers within the same local subnet. For more information, see the about_Remote_Troubleshooting
Help topic.
...