Outils pour utilisateurs

Outils du site


dev:powershell:debogage_des_scripts

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
dev:powershell:debogage_des_scripts [2023/07/04 09:07] yoanndev:powershell:debogage_des_scripts [2023/07/04 09:58] (Version actuelle) yoann
Ligne 4: Ligne 4:
 ====== PowerShell : Débogage des scripts ====== ====== PowerShell : Débogage des scripts ======
  
 +===== Généralités =====
  
-Un script ou une fonction peut se comporter comme une cmdlet compilée si on lui ajoute l'attribut ''CmdletBinding''. On ajoute l'attribut en utilisant le décorateur ''[CmdletBinding()]'' dans le bloc **Param()**. Une fois l'attribut spécifié, on peut utiliser les options existantes sur les cmdlets compilées comme ''-Verbose'' et ''-Debug''.+Lorsque des erreurs se produisent, elles sont stockées dans le tableau **$Error**. Quand une nouvelle erreur est générée, elle est insérée à $Error[0], et l’index des autres erreurs est augmenté d’une unité. 
 + 
 +Pour rendre le texte de résolution des problèmes plus facilement identifiable, il existe les cmdlets **Write-Warning**, **Write-Verbose** ou **Write-Debug** 
 + 
 + 
 +===== Utilisation des switchs Verbose et Debug ===== 
 + 
 +Un script ou une fonction peut se comporter comme une cmdlet compilée si on lui ajoute l'attribut ''CmdletBinding''. On ajoute l'attribut en utilisant le décorateur ''[CmdletBinding()]'' dans le bloc **Param()**. Une fois l'attribut spécifié, on peut utiliser les options existantes sur les cmdlets compilées comme les switchs ''-Verbose'' et ''-Debug''.
  
  
Ligne 114: Ligne 122:
 </code> </code>
  
 +===== Gestion des erreurs =====
  
 +Quand une commande PowerShell génère une erreur, il peut s’agir d’une erreur avec fin d’exécution (si le traitement ne peut pas se poursuivre) ou d’une erreur sans fin d’exécution. La variable globale **$ErrorActionPreference** permet à l'utilisateur de définir le comportement par défaut à appliquer lorsqu' une erreur sans fin d’exécution est rencontrée :
 +
 +Les différents valeurs possibles sont :
 +
 +^ Continue | Afficher le message et continue l'exécution (valeur par défaut) |
 +^ SilentlyContinue | Continue l'exécution sans affichage des messages. |
 +^ Inquire | Interrompt l’exécution et demande à l'utilisateur.|
 +^ Stop | Devra  être géré par le script comme une erreur avec fin d’exécution via les exceptions ou provoquera l'arrêt du script. |
 +
 +
 +<code powershell>
 +# Redéfinit le comportement par défaut des erreurs sans fin d’exécution
 +# pour le processus courant. Demande à l'utilisateur
 +$ErrorActionPreference = 'Inquire'
 +
 +</code>
 ===== Références ===== ===== Références =====
  
   * https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-5.1   * https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-5.1
   * https://www.youtube.com/watch?v=TCs8KmyZCgs   * https://www.youtube.com/watch?v=TCs8KmyZCgs
dev/powershell/debogage_des_scripts.1688461633.txt.gz · Dernière modification : 2023/07/04 09:07 de yoann