Question Utilisation ErrorVariable

Plus d'informations
il y a 15 ans 11 mois #6471 par SiSMik
Utilisation ErrorVariable a été créé par SiSMik
Bonjour,

J'essaye actuellement de mettre en place un système de log simple pour mon script qui va gérer mes installations silencieuses posts LTI. Cependant je bloque sur l'utilisation de l'argument -ErrorVariable.

J'utilise le code ci-dessous
[code:1]$LogFile = \"Install.log\"

# Import des fonctions pour MDT 2010
$FileExists = Test-Path MDTDB.psm1
if ($FileExists -eq $false) {
\"MDTDB.psm1 n'existe pas\" >> $LogFile
exit
}
else
{
import-module MDTDB.psm1 -force -verbose -ErrorVariable +Err
If ($Err) {
\"Erreur d'import d'MDTDB.psm1\" >> $LogFile
\"Erreur:\" $Err >> $LogFile
} else { \"Import avec succès de MDTDB.psm1\" >> $LogFile }
} [/code:1]

et j'obtiens l'erreur suivante:
[code:1]Jeton « Err » inattendu dans une expression ou une instruction.
Au niveau de C:\Script\test2.ps1 : 14 Caractère : 23
+ \"Erreur:\" $Err <<<< >> $LogFile
+ CategoryInfo : ParserError: (Err:«»String) [], ParseException
+ FullyQualifiedErrorId : UnexpectedToken[/code:1]

Je trouve pas vraiment d'infos sur cette erreur du coup je viens quémander votre aide ^^

Bonne journée !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 11 mois #6473 par ken
Réponse de ken sur le sujet Re:Utilisation ErrorVariable
Bonjour,

Pour la gestion d'erreur, moi je ferais comme ceci :

{
import-module MDTDB.psm1 -force -verbose -ErrorVariable Err
If ($Err.Count -ne 0) {
\"Erreur d'import d'MDTDB.psm1\" >> $LogFile
\"Erreur:\" $Err.Message (J'ai un doute là-dessus....) >> $LogFile
} else { \"Import avec succès de MDTDB.psm1\" >> $LogFile }


Je pense que tu vois le principe.... :)

Sinon pour éviter les lignes en trop quand tu vois le code, j'ajouterai aussi :

-ErrorAction SilentlyContinue (ou -ea SilentlyContinue)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 11 mois #6474 par SiSMik
Réponse de SiSMik sur le sujet Re:Utilisation ErrorVariable
Merci de ta réponse rapide ;)

Je vois complêtement l'idée que tu veux faire passer, pas de soucis, mais ça ne marche pas non plus.
Il est peut être possible que le problème vienne de la ligne
[code:1]import-module MDTDB.psm1 -ErrorVariable Err[/code:1]
Car si j'appelle $Err, je n'ai rien qui s'affiche.

Ca doit pas être grand chose mais je ne vois pas :(

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 11 mois #6475 par ken
Réponse de ken sur le sujet Re:Utilisation ErrorVariable
Je te cache pas que je connais pas ce Cmdlet \"import-module\"

Par contre, pour la gestion des erreurs. Si tu changes de le noms de la variable Err.

Par exemple :

[code:1]Import-module xxxx -Ev Errs
write-host $Errs.Count
write-host $Errs.Message[/code:1]

Tu obtiens quoi?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 11 mois #6476 par SiSMik
Réponse de SiSMik sur le sujet Re:Utilisation ErrorVariable
Wallou :P

Je continue les tests, dès que j'ai trouvé, je fais un retour ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 11 mois #6477 par SiSMik
Réponse de SiSMik sur le sujet Re:Utilisation ErrorVariable
Une autre piste qui fonctionne tout aussi bien.
C'est peut être un peu moins propre, mais ça me convient dans le résultat !
[code:1]$LogFile = \"Install.log\"
$error.clear()
# Import des fonctions pour MDT 2010
$FileExists = Test-Path C:\MDTDB.psm1
if ($FileExists -eq $false) {
\"MDTDB.psm1 n'existe pas\" >> $LogFile
exit
}
else
{
import-module C:\Script\MDTDB.psm1 -force
If ($error) {
\"Erreur d'import d'MDTDB.psm1\" >> $LogFile
$error >> $LogFile
} else { \"Import avec succès de MDTDB.psm1\" >> $LogFile }
} [/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.047 secondes
Propulsé par Kunena