none
Script Powershell & Tâches planifiées : Récupérer l'identification "EvenRecordID" d'un évenement dans le script qu'il déclenche dans la planification de tâche. RRS feed

  • Question

  • Bonjour,

    Je cherche à mettre en place un script exécuté en tâche planifiée lorsque les événements EventID(4720) se produisent dans le journal d'événements. Le but final étant de mettre en place une solution de synchronisation entre l'AD et Exchange.

    L'eventID 4720 est de catégorie "User Account Management" et disponible en activant l'audit de la gestion des comptes dans une GPO.

    Mais pour se faire j'ai besoin d'avoir accès, dans le script déclenché, aux infos relatif à l'événement qui déclenche la tâche planifiée, afin de pouvoir stocker certaines infos dans des variables, notamment le SAMAccountName qui a été créé, modifié ou supprimé.

    Quelqu'un peut-il proposer une idée?

    jeudi 3 décembre 2020 23:07

Toutes les réponses

  • L'événement se déclenche comme suivant, 

    https://docs.microsoft.com/fr-fr/windows/security/threat-protection/auditing/event-4720


    Dakhama Mehdi : Windows developper https://github.com/dakhama-mehdi

    vendredi 4 décembre 2020 07:57
  • Une fois déclenché tu fais clic droit, joindre u'e tache script ..... Et ton script est lié à la tache dans le pla

    Dakhama Mehdi : Windows developper https://github.com/dakhama-mehdi

    vendredi 4 décembre 2020 07:59
  • J'ai besoin qu'à chaque fois que la tâche planifié se déclenche automatiquement en fonction de ce type d'évenement, d'avoir accès aux détails de l'évenement qui l'a déclenché dans le script, j'ai besoin d'automatiser ce process. Chaque évenement est unique et dispose d'un identifiant unique nommé EventRecordID accessible dans les détails de l'évenement. Chaque instance d'une tâche planifié(chaque exécution) dispose également d'infos détaillés et d'un identifiant unique mais je n'arrive ni à faire le lien entre les infos détaillés d'une instance de tâche planifiée et l'évenement qui l'a déclenché, et pire, je saurais même pas comment faire appel aux détails, dans le code du script, de l'instance de la tâche planifié qui déclenche ce même script.

    Si quelqu'un a une idée?

    jeudi 10 décembre 2020 20:43
  • Bonjour James

    Je te mets sur la piste, je ne te donnes pas la solution toute faite (trop facile sinon).

    • Utilise Get-WinEvent filtré sur l'ID que tu veux (pipeline sur select * -last 1 dans un premier temps) ==> Là tu vas voir toutes les propriétés d'un event. Il y a des chances que ce que tu cherches à identifier soit dans une propriété particulière nommée Properties et qui contient plein de choses ... dont ce que tu cherches à récupérer.
    • C'est là que le travail complexe commence. Il faut récupérer le morceau qui t'intéresse et la valeur qui est dans ce morceau. Un exemple pour te guider :  ’Group name’   = $Event.Properties[2].value
    • Ne reste plus qu'à créer un PSCustomObject avec toutes les valeurs des propriétés qui t'intéressent.

    Maintenant que tu as récupéré les info que tu veux pour un event, un traitement en masse d'une collection d'events entre telle DateTime ry Telle DateTime dans une boucle foreach et tu as tout récupéré.

    Après ce n'est qu'une question d'export dans le format que tu veux.

    J'ai un exemple dans mes tablettes, je cherche les évents  '4728', '4729', '4732', '4733'" (user add on AD Group) mais ce ne sont que les valeurs par défaut d'une variable et cela est changeable aisément. Avant de te donner, directement le script, je te laisse creuser un peu, cela te sera bien plus profitable par la suite.

    Nota : Ce que j'ai, se présente sous forme d'une fonction ... qui doit donc être appelée par un main script.

    Creuses un peu, expérimentes, colles les parties de code que tu as fais et le résultat (bon ou pas) obtenu, après je présenterais un exemple complet - clé en main - mais on n'apprends vraiment bien que lorsqu'on se creuses vraiment la tête.

    cordialement

    Olivier

    vendredi 11 décembre 2020 06:01
  • Salut james,

    comme a dit Oliv, nous t'avons donné tout les éléments, et toutes les solutions, à toi maintenant d'affiné selon ton besoin.

    car je suppose que tes salarié comme Oliv, et t'es payé pour trouver une solution adéquate à ton besoin ou ton souhait personnel, qui n'est pas généralisé dans les autres boites. 

    nous pouvons pas faire des scripts à lettre aux besoins et envie des personnes, as tu essayé quelque chose ?? dans ce cas lequel ? bloques tu quelques part dans ton script ? 


    Dakhama Mehdi : Windows developper https://github.com/dakhama-mehdi

    vendredi 11 décembre 2020 10:14