Próbuję sprawdzić, czy proces działa na wielu serwerach, a następnie sformatować go w tabeli.
get-process -ComputerName server1,server2,server3 -name explorer | Select-Object processname,machinename
To łatwa część - gdy proces nie istnieje lub jeśli serwer jest niedostępny, PowerShell generuje duży brzydki błąd, psuje tabelę i nie kontynuuje. Przykład
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
Jak to obejść? Jeśli nadal chcę otrzymywać powiadomienia, jeśli proces nie jest dostępny lub działa.
powershell
Jake
źródło
źródło
get-process
lub spójrz na moją zaktualizowaną odpowiedź powyżej.Krótka odpowiedź: dodaj
$ErrorActionPreference = 'SilentlyContinue'
na początku kodu, więc nie musisz dodawać-ErrorAction SilentlyContinue
do każdego poleceniaDługa odpowiedź: https://www.gitbook.com/book/devopscollective/the-big-book-of-powershell-error-handling/details
źródło
$ErrorActionPreference = ‘SilentlyContinue’