Powershell: gestion des erreurs avec try et catch
Je suis en train d'écrire un script et que vous souhaitez contrôler les erreurs. Cependant je vais avoir du mal à trouver de l'information sur la gestion des erreurs à l'aide de la try, catch. Je voulez attraper l'erreur spécifique (voir ci-dessous), puis d'effectuer certaines actions, et de reprendre le code. Ce code est nécessaire pour cela?
C'est le code, je suis en cours d'exécution et im saisissant un nom d'utilisateur non valide lorsque vous y êtes invité.
Get-WMIObject Win32_Service -ComputerName localhost -Credential (Get-Credential)
Get-WmiObject : User credentials cannot be used for local connections
At C:\Users\alex.kelly\AppData\Local\Temp\a3f819b4-4321-4743-acb5-0183dff88462.ps1:2 char:16
+ Get-WMIObject <<<< Win32_Service -ComputerName localhost -Credential (Get-Credential)
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Vous devez vous connecter pour publier un commentaire.
Quelqu'un peut-il comprendre pourquoi je ne peux pas le piège de cette exception, en essayant de piéger les exceptions de type [Système.De la gestion.ManagementException]?
PowerShell doit pouvoir intercepter les exceptions qui correspondent à certaines classes d'exception, mais même si la classe d'exception ci-dessous est [Système.De la gestion.ManagementException] il ne sera pas à l'attraper dans le bloc catch!
je.e:
Fonctionne de la même comme:
Ne fait pas de sens pour moi.
Vous pouvez aussi attraper l'erreur dans le Générique Exception bloc catch et de vérifier ensuite le texte pour voir si elle correspond à des mots, vous êtes après, mais il est un peu sale.
Vous devez utiliser
-erroraction stop
à entrer dansthe try/catch
outrap
scriptblock. Vous pouvez tester cela :