IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

get-event et fichier csv [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 9
    Points
    9
    Par défaut get-event et fichier csv
    Bonjour tout le monde.
    Je débute tout juste en PowerShell et je bloque sur un petit truc que je n'arrive pas à résoudre.
    Je cherche à extraire la dernière donnée du journal d'événement Microsoft Office, ce script s’exécutera ensuite sur tous les pc de mon parc informatique

    Voici la ligne que j'ai faite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-EventLog -logname OSession -newest 1 | Format-Table MachineName,EntryType,Source,TimeGenerated -HideTableHeaders -AutoSize | out-file c:\test.csv -append
    Mon problème : Je voudrais que les différents informations soit séparées par un séparateur (ce qui permettra de faire des tris quand toutes les informations seront stockées dans le fichier).

    PS: j'ai essayer avec un export mais ça écrase à chaque fois la ligne présente (il n'existe pas de paramètre comme -append ? )

  2. #2
    Membre éclairé Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Points : 876
    Points
    876
    Par défaut
    Salut,

    avec ceci ça devrait marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-EventLog........ | foreach-object { write-output "$_ ;" >> "pouet.csv"}
    En tout cas je ne sais pas ce que tu récupere mais aprés un petit test rapide ça fonctionne chez moi ... mais c'est trés crade ! désolé pas le temps de faire mieux la, dessuite .

    Cdlt.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Salut et merci de ta réponse, ça m'aide super bien
    J'ai encore quelque souci ^^

    J'ai transformé ma ligne de commande comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-EventLog -logname OSession -newest 1 | foreach-object { write-output $_.EntryType,";",$_.MachineName >> "pouet.csv"}
    ça marche bien sauf que chaque élément sont inséré dans le fichier les un en dessous des autres :s
    Ce que je voudrais au final c'est de mettre le résultat $_.EntryType,";",$_.MachineName sur une seul ligne.
    Et la j'ai beau chercher et essayer plein de choses je n'arrive pas à mettre le résultat sur une seule ligne.

  4. #4
    Membre éclairé Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Points : 876
    Points
    876
    Par défaut
    Ok

    alors au plus simple, admettons que tu n'ai pas de compteur et que tu ais uniquement que 4 champs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-EventLog -logname OSession -newest 1 | foreach-object { write-output "$_[0];$_[1];$_[2];$_[3]" >> "pouet.csv"}
    aprés rien n'empeche d'employer un compteur.

    Cdlt.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    J'ai déjà essayé cette solution mais dans mon fichier j'ai :
    System.Diagnostics.EventLogEntry.EntryType;System.Diagnostics.EventLogEntry.MachineName
    au lieu de : Information;ordinateur1

    Avec les guillemets les valeurs sont remplacées par System.Diagnostics.EventLog....
    Je ne sais pas trop pourquoi :s
    Je ne doit pas utiliser powershell comme il le faut je pense

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    J'ai trouvé mon problème
    C'est bien ce que je disais, je ne connait pas encore assez bien powershell ^^

    Mon problème venait de la substitution des variables

    voila le code final ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $events = get-eventlog -logname OSession -newest 1 | foreach-object {write-output "$($_.EntryType) ; $($_.MachineName)" >> "c:\test.csv"}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  2. Importation de fichier CSV vers une base Interbase
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 15/03/2005, 15h18
  3. Mettre a jour BD avec fichier csv
    Par Looping94510 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 07/02/2005, 18h56
  4. Sortir un fichier csv sur base d une requete
    Par Freeman_80 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 12/01/2005, 11h21
  5. Réponses: 2
    Dernier message: 14/05/2004, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo