Estoy tratando de ver si un proceso se está ejecutando en varios servidores y luego formatearlo en una tabla.
get-process -ComputerName server1,server2,server3 -name explorer | Select-Object processname,machinename
Esa es la parte fácil: cuando el proceso no existe o si el servidor no está disponible, powershell genera un gran error feo, desordena la tabla y no continúa. Ejemplo
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
¿Cómo puedo evitar esto? Si todavía me gustaría recibir una notificación si el proceso no está disponible o en ejecución.
powershell
Jake
fuente
fuente
get-process
o eche un vistazo a mi respuesta actualizada arriba.Respuesta corta: agregue
$ErrorActionPreference = 'SilentlyContinue'
al comienzo de su código para que no necesite agregar-ErrorAction SilentlyContinue
a cada comandoRespuesta larga: https://www.gitbook.com/book/devopscollective/the-big-book-of-powershell-error-handling/details
fuente
$ErrorActionPreference = ‘SilentlyContinue’