Question Exception

Plus d'informations
il y a 13 ans 9 mois #11964 par Fradeski
Exception a été créé par Fradeski
Bonjour à tous,

Je découvre Powershell depuis 4 jours seulement. Je dois avouer que c'est pas mal. ;)

Je suis en train de coder un script pour obtenir des informations systèmes et je rencontre un problème récurrent.
En effet, sur certaines requêtes, il n'existe pas de résultats. C'est normal mais je souhaiterais gérer ce genre d'erreur (ou l'éviter).

Voici un exemple :

[code:1]
get-eventlog -logname \"security\" -after $date -computername . -entrytype \"Error\"
Get-EventLog : Aucune correspondance trouvée
Au niveau de ligne : 1 Caractère : 13
+ get-eventlog <<<< -logname \"security\" -after $date -computername . -entrytype \"Error\"
+ CategoryInfo : ObjectNotFound: (:«») [Get-EventLog], ArgumentException
+ FullyQualifiedErrorId : GetEventLogNoEntriesFound,Microsoft.PowerShell.Commands.GetEventLogCommand
[/code:1]

Quelqu'un pourrait me dépanner ?

Cordialement

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

Plus d'informations
il y a 13 ans 9 mois #11966 par SiSMik
Réponse de SiSMik sur le sujet Re:Exception
fradeski écrit:

Quelqu'un pourrait me dépanner ?


Pas de problème, une solution pourrait être d'utiliser les try/catch comme ceci

[code:1]
Try {
get-eventlog -logname \"security\" -after $date -computername . -entrytype \"Error\" -ErrorAction SilentlyContinue
}
catch {
Write-Host \"EventLog Security does not contain any errors since $($date)\"
}[/code:1]

Question, pourquoi définir le computername si c'est pour requeter les eventlogs en local ? :)

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

Plus d'informations
il y a 13 ans 9 mois #11967 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Exception
Bonsoir,

Je te propose d'utiliser le paramètre commun '-ErrorAction' (Commun à toutes les Cmdlets).

Pour \"supprimer\" le message d'erreur et continuer silencieusement :

[code:1]Get-EventLog -logname \"security\" -after $date -entrytype \"Error\" -ErrorAction SilentlyContinue
[/code:1]

Tu peux aussi, avec le même paramètre, lever une exception (erreur bloquante) en cas d'erreur :

[code:1]Try{
Get-EventLog -logname \"security\" -after $date -entrytype \"Error\" -ErrorAction Stop
]
Catch{
Write-Error \"Une erreur s'est produite : $($_.Exception.Message)\"
][/code:1]

@ +

Matthew

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

Plus d'informations
il y a 13 ans 9 mois #11968 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Exception
(Désolé pour les infos en doublon avec benduru ;) )

Au sujet du '-ComputerName .', ce n'est pas obligatoire pour une exécution de la commande en local...

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

Plus d'informations
il y a 13 ans 9 mois #11970 par SiSMik
Réponse de SiSMik sur le sujet Re:Exception
Matthew BETTON écrit:

(Désolé pour les infos en doublon avec benduru ;) )


:evil:

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

Plus d'informations
il y a 13 ans 9 mois #11972 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Exception
benduru écrit:

Matthew BETTON écrit:

(Désolé pour les infos en doublon avec benduru ;) )


:evil:


Y a de l'echo :silly:

Ce n'est pas bien de faire 2 choses en même temps et il faut penser à rafraichir la page : tout est de ma faute => m'en excuser...

Ok je vais me coucher :whistle:<br><br>Message édité par: Matthew BETTON, à: 7/06/12 21:38

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

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