Flash info

"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information. "

Albert Einstein (1879-1955)

 
Accueil arrow Forum

Bienvenue sur le forum PowerShell-Scripting.com

 
xtrem
Utilisateur

PowerShelleur Débutant
Messages: 4
graphgraph
Karma: 0  
Redirection des messages d'erreur (Résolu) - 1/03/07 20:23 Bonsoir,

Comment faire pour que les messages d'erreurs ne soient pas affichés dans la console lors de l'exécution d'un script ?

Une sorte de "on error resume next" mais en powershell .

Merci

Xtrem.

Message édité par: Arnaud, à: 17/07/07 17:24
  | | L'administrateur a désactivé l'accés public en écriture.
Robin
Admin

Administrateur
Messages: 262
graphgraph
Karma: 8  
Re:redirection du message d'erreur - 5/03/07 21:23 tu peux mettre la valeur "SilentlyContinue" à la variable $ErrorActionPreference (variable globale que tu peux lister avec la commande gci variable: )
La valeur par defaut est "continue"
mais attention, du coup les messages d'erreurs ne s'affichent plus ....

Code:

 $ErrorActionPreference="SilentlyContinue"

Robin MVP PowerShell
  | | L'administrateur a désactivé l'accés public en écriture.
Arnaud
Admin

Administrateur
Messages: 1319
graphgraph
Karma: 45  
Re:redirection du message d'erreur - 2/04/07 23:14 Juste une petite précision.

Bien que les messages d'erreurs ne s'affichent plus à l'écran, PowerShell les consigne quand même dans la variable $error.

Et $error[0] contient toujours le dernier message d'erreur intercepté.

J'allais oublier, il y a aussi les paramètres communs à toutes les cmdlets (appélés aussi "ubiquitous parameters"). Ainsi tu peux, cmdlet par cmdlet définir avec -ErrorAction quel devra être leur comportement face aux erreurs.

Exemple:
Code:

 Get-ChildItem "c:\RepertoireInexistant" -ErrorAction "silentlycontinue"



idem pour -ErrorVariable qui permet de récuperer l'erreur dans une variable.

Sur ce, bon scripting...

Arnaud

Message édité par: Arnaud, à: 17/07/07 17:23
MVP PowerShell (depuis 2007)
Suivez moi sur Twitter !
  | | L'administrateur a désactivé l'accés public en écriture.
Laurent Dardenne
Utilisateur

PowerShelleur Platinum
Messages: 5726
graph
Karma: 209  
Re:redirection du message d'erreur - 16/04/07 22:40 En complément:
On retrouve la notion des handles systèmes sous PowerShell, à l'identique de MSDOS, de portée locale :
Code:

  dir FichierInexistant 2>&1


Affiche sur la console. Seule la couleur d'affichage différencie la sortie standard de la sortie d'erreur.
Code:

  dir FichierInexistant 2>$NULL


Code:

  dir c:>$NULL


Aucun affichage
Code:

  dir c:\FichierInexistant 2>$NULL


Seul les fichiers existant sont listés. La variable $Error contient la dernière erreur.
Code:

  dir c:\FichierInexistant 1 2>$NULL


La combinaison des handles de sortie standard (1) et d'erreur standard (2) ne génére aucun affichage.
L'interrogation de $? (boolean) nous indiquera si une rreur c'est produite.
L'ordre (c:, FichierInexistant) ou (FichierInexistant, c:) n'intervenant pas sur le contenu de cette variable.
Tutoriels PowerShell
  | | L'administrateur a désactivé l'accés public en écriture.
© 2020 PowerShell-Scripting.com