J'essaie de voir si un processus est en cours d'exécution sur plusieurs serveurs, puis le formater dans un tableau.
get-process -ComputerName server1,server2,server3 -name explorer | Select-Object processname,machinename
C'est la partie la plus facile - Lorsque le processus n'existe pas ou que le serveur est indisponible, powershell génère une grosse erreur laide, gâche la table et ne continue pas. Exemple
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
Comment puis-je contourner cela? Si je souhaite quand même recevoir une notification si le processus n'est pas disponible ou en cours d'exécution.
la source
get-process
ou jetez un oeil à ma réponse mise à jour ci-dessus.Réponse courte: ajoutez
$ErrorActionPreference = 'SilentlyContinue'
au début de votre code pour ne pas avoir à ajouter-ErrorAction SilentlyContinue
à chaque commandeRéponse longue: https://www.gitbook.com/book/devopscollective/the-big-book-of-powershell-error-handling/details
la source
$ErrorActionPreference = ‘SilentlyContinue’