Question
cmdlet Get-WinEvent avec variable
- Zohan
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 3 ans 2 mois #30452
par Zohan
cmdlet Get-WinEvent avec variable a été créé par Zohan
Bonjour,
Je suis nouveau, j'ai testé le script trouvé sur le forum qui retourne les résultats dans la partie script-original
Aussi, ce que je souhaiterai faire dans un seul script c'est :
1 / Lancement du script,
2 / Le script demande l'ID ( exemple 6006 ) l'admin met le numéro --> Read-Host
3 / Le script confirme la valeur 6006 --> Write-Host
3 / le script renvoit les résultats (10 derniers evenements ) en ayant pris en compte la valeur 6006 ( dans l'exemple ) --> dans ISE ou dans l'invite de commande
J'ai pensé à déclarer la variable (mais il doit manquer quelque chose ou ce n'est tout simplement pas possible)
$DefaultValue = [string]
Read-Host "Veuillez renseigner le Numéro d'evenement : $DefaultValue"
Write-Host "vous avez renseigner la valeur : $DefaultValue"
----script original
$query = @"
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[(EventID=6006)]]</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
merci pour votre aide si c'est faisable.
Zohan
Je suis nouveau, j'ai testé le script trouvé sur le forum qui retourne les résultats dans la partie script-original
Aussi, ce que je souhaiterai faire dans un seul script c'est :
1 / Lancement du script,
2 / Le script demande l'ID ( exemple 6006 ) l'admin met le numéro --> Read-Host
3 / Le script confirme la valeur 6006 --> Write-Host
3 / le script renvoit les résultats (10 derniers evenements ) en ayant pris en compte la valeur 6006 ( dans l'exemple ) --> dans ISE ou dans l'invite de commande
J'ai pensé à déclarer la variable (mais il doit manquer quelque chose ou ce n'est tout simplement pas possible)
$DefaultValue = [string]
Read-Host "Veuillez renseigner le Numéro d'evenement : $DefaultValue"
Write-Host "vous avez renseigner la valeur : $DefaultValue"
----script original
$query = @"
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[(EventID=6006)]]</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
merci pour votre aide si c'est faisable.
Zohan
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 #30454
par Damien Commenge
Réponse de Damien Commenge sur le sujet cmdlet Get-WinEvent avec variable
Bonjour,
Encore une fois, attention cela ne fonctionnera pas pour tous les evenements...
Voici une réponse à votre problème :
J'ai donc crée une fonction si c'est pour une utilisation récurrente, je pense que c'est plus simple. Au niveau de cette fonction, elle a besoin d'un paramètre en entré qui sera le numéro d'évènement que l'utilisateur va saisir.
Pour récupérer une valeur saisie par l'utilisateur dans la console, il suffit juste de créer une variable qui sera égale à read-host "...."
Enfin, j'appelle la fonction avec le paramètre saisit par l'utilisateur.
Si jamais l'objectif est de faire une requête sur plusieurs évènements du journal d'évènement, il est alors nécessaire d'identifier chaque champ souhaité par évènement et d'adapter la partie param en conséquence mais la fonction devra être mis à jour en utilisant un "switch". Il permettra de dire :
Si l'event est la valeur X le nom du serveur se récupère de telle façon, la date de telle façon et les autres champs souhaités de telle façon
Si l'event est la valeur X+10 pareil
...
En espérant t'avoir aider mais sans avoir plus d'explication sur ce que tu veux vraiment faire, je suis bloqué.
PS : Je ne suis pas du tout un pro powershell et même loin de là. J'arrive assez souvent à obtenir le résultat que je souhaite, mais je suis loin de coder comme un developpeur.
Encore une fois, attention cela ne fonctionnera pas pour tous les evenements...
Voici une réponse à votre problème :
function Get-customEvent
{
param(
[int]$eventID
)
$query = @"
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[(EventID=$eventID)]]</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 -First 10
}
$EventNb = Read-Host "Veuillez renseigner le Numéro d'evenement "
Write-host "vous avez renseigner la valeur : $EventNb"
Get-customEvent -eventID $EventNb
J'ai donc crée une fonction si c'est pour une utilisation récurrente, je pense que c'est plus simple. Au niveau de cette fonction, elle a besoin d'un paramètre en entré qui sera le numéro d'évènement que l'utilisateur va saisir.
Pour récupérer une valeur saisie par l'utilisateur dans la console, il suffit juste de créer une variable qui sera égale à read-host "...."
Enfin, j'appelle la fonction avec le paramètre saisit par l'utilisateur.
Si jamais l'objectif est de faire une requête sur plusieurs évènements du journal d'évènement, il est alors nécessaire d'identifier chaque champ souhaité par évènement et d'adapter la partie param en conséquence mais la fonction devra être mis à jour en utilisant un "switch". Il permettra de dire :
Si l'event est la valeur X le nom du serveur se récupère de telle façon, la date de telle façon et les autres champs souhaités de telle façon
Si l'event est la valeur X+10 pareil
...
En espérant t'avoir aider mais sans avoir plus d'explication sur ce que tu veux vraiment faire, je suis bloqué.
PS : Je ne suis pas du tout un pro powershell et même loin de là. J'arrive assez souvent à obtenir le résultat que je souhaite, mais je suis loin de coder comme un developpeur.
Dernière édition: il y a 3 ans 2 mois par Damien Commenge.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.063 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- cmdlet Get-WinEvent avec variable