Résolu
Propriété de la cmdlet Get-WinEvent
- Giraudeau
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 3 ans 2 mois #30313
par Giraudeau
Propriété de la cmdlet Get-WinEvent a été créé par Giraudeau
Bonjour,
Je cherche à récupérer l'historique des redémarrages serveurs de manière simple et lisible : date et heure, utilisateur qui a lancé le reboot, machine concernée.
Pour cela je fais appel à la commande Get-WinEvent, je précise l'ID de l'évènements que je souhaite récupérer (ici le 1074), puis je le formatte de manière à obtenir uniquement les 3 colonnes ci-dessus.
Sauf que...(oui parce qu'il y a un "sauf que" sinon je ne serais pas la à vous décrire mon problème), lorsque je regarde les propriétés disponibles pour la cmdlet Get-WinEvent, je trouve bien celle correspondant à la date "TimeCreated", celle correspondant à la machine "MachineName" mais impossible de trouver celle correspondant au nom de l'utilisateur.
Je trouve certaines propriétés comme "LogName" par exemple mais aucune ne correspond à l'information "Utilisateur" que je vois quand je vais dans l'observateur d'évènement.
Est-ce que j'ai raté quelque chose ou cette propriété n'existe pas, ce qui serait assez surprenant ?
Merci pour votre aide.
Je cherche à récupérer l'historique des redémarrages serveurs de manière simple et lisible : date et heure, utilisateur qui a lancé le reboot, machine concernée.
Pour cela je fais appel à la commande Get-WinEvent, je précise l'ID de l'évènements que je souhaite récupérer (ici le 1074), puis je le formatte de manière à obtenir uniquement les 3 colonnes ci-dessus.
Sauf que...(oui parce qu'il y a un "sauf que" sinon je ne serais pas la à vous décrire mon problème), lorsque je regarde les propriétés disponibles pour la cmdlet Get-WinEvent, je trouve bien celle correspondant à la date "TimeCreated", celle correspondant à la machine "MachineName" mais impossible de trouver celle correspondant au nom de l'utilisateur.
Je trouve certaines propriétés comme "LogName" par exemple mais aucune ne correspond à l'information "Utilisateur" que je vois quand je vais dans l'observateur d'évènement.
Est-ce que j'ai raté quelque chose ou cette propriété n'existe pas, ce qui serait assez surprenant ?
Merci pour votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 3 ans 2 mois #30314
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Propriété de la cmdlet Get-WinEvent
Bonjour à toi !
Sois le bienvenu dans le forum ! Une petite introduction de ta personne dans le forum dédié serait apprécié
As-tu essayé avec la commande Get-EventLog ? Si l'info se trouve dans les logs Windows, on doit forcément pouvoir la récupérer avec PowerShell...
Arnaud
Sois le bienvenu dans le forum ! Une petite introduction de ta personne dans le forum dédié serait apprécié
As-tu essayé avec la commande Get-EventLog ? Si l'info se trouve dans les logs Windows, on doit forcément pouvoir la récupérer avec PowerShell...
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Damien Commenge
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 65
- Remerciements reçus 4
il y a 3 ans 2 mois - il y a 3 ans 2 mois #30315
par Damien Commenge
Réponse de Damien Commenge sur le sujet Propriété de la cmdlet Get-WinEvent
Bonjour,
Est ce que cela correspond à ce que vous souhaiteriez ?
Get-eventlog -logname system | Where-Object {$_.EventID -eq 1074} | fl machinename,timegenerated,message,username
Une façon beaucoup plus efficace en temps, mais plus complexe est celle ci :
J'avais pas mal galéré avec les journaux d'évènements à une époque ou je voulais récupérer des informations présentes à l'intérieur de ces dernier, donc j'ai retrouvé quelque notes
De façon générale, lorsqu'on souhaite jouer avec powershell et les journaux d'évènements je m'étais apperçu qu'il fallait utiliser le paramètre filterhashtable ou filterxml sinon c'est beaucoup trop long.
Une explication plus "technique" est proposée ici : devblogs.microsoft.com/scripting/data-mi...-powershell-and-xml/
Est ce que cela correspond à ce que vous souhaiteriez ?
Get-eventlog -logname system | Where-Object {$_.EventID -eq 1074} | fl machinename,timegenerated,message,username
Une façon beaucoup plus efficace en temps, mais plus complexe est celle ci :
$query = @"
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[(EventID=1074)]]</Select>
</Query>
</QueryList>
"@
$param= @(
@{label="ServerName";expression={$_.properties.value[1]}},
@{label="Date";expression={$_.TimeCreated}},
@{label="User";expression={$_.properties.value[6]}}
)
(Get-WinEvent -FilterXml $query) | select $param
J'avais pas mal galéré avec les journaux d'évènements à une époque ou je voulais récupérer des informations présentes à l'intérieur de ces dernier, donc j'ai retrouvé quelque notes
De façon générale, lorsqu'on souhaite jouer avec powershell et les journaux d'évènements je m'étais apperçu qu'il fallait utiliser le paramètre filterhashtable ou filterxml sinon c'est beaucoup trop long.
Une explication plus "technique" est proposée ici : devblogs.microsoft.com/scripting/data-mi...-powershell-and-xml/
Dernière édition: il y a 3 ans 2 mois par Damien Commenge.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 3 ans 2 mois - il y a 3 ans 2 mois #30319
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Propriété de la cmdlet Get-WinEvent
Salut,
approprié : on utilise une API adéquate
optimisé: on laisse l'API filtrer les données
je dirais "plus approprié et optimisé"commenge écrit: mais plus complexe est celle ci
approprié : on utilise une API adéquate
optimisé: on laisse l'API filtrer les données
Tutoriels PowerShell
Dernière édition: il y a 3 ans 2 mois par Laurent Dardenne.
Connexion ou Créer un compte pour participer à la conversation.
- Giraudeau
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 3 ans 2 mois #30323
par Giraudeau
Réponse de Giraudeau sur le sujet Propriété de la cmdlet Get-WinEvent
Bonjour Commenge,
C'est exactement ce que je voulais faire !!!
Je t'avoue que je ne comprend pas tout car je débute en powershell mais un grand merci à toi !
De mon coté, j'ai effectivement utilisé le paramètre filterhashtable car je le trouve beaucoup plus rapide (y'a pas photo d'ailleurs). Par contre pour le user, je me suis pris la tête à faire des indexof et des substring pour récupérer cette valeur dans le corps du message car c'est le seul endroit ou elle figure...
Bref ta solution est 100 fois mieux, merci pour ton aide précieuse
C'est exactement ce que je voulais faire !!!
Je t'avoue que je ne comprend pas tout car je débute en powershell mais un grand merci à toi !
De mon coté, j'ai effectivement utilisé le paramètre filterhashtable car je le trouve beaucoup plus rapide (y'a pas photo d'ailleurs). Par contre pour le user, je me suis pris la tête à faire des indexof et des substring pour récupérer cette valeur dans le corps du message car c'est le seul endroit ou elle figure...
Bref ta solution est 100 fois mieux, merci pour ton aide précieuse
Connexion ou Créer un compte pour participer à la conversation.
- Giraudeau
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 3 ans 2 mois #30327
par Giraudeau
Réponse de Giraudeau sur le sujet Propriété de la cmdlet Get-WinEvent
Merci Arnaud pour ton retour.
J'ai viens de faire la petite prezzz
Cédric
J'ai viens de faire la petite prezzz
Cédric
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.075 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Propriété de la cmdlet Get-WinEvent