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 :

Problème d'affichage des valeurs d'un fichier csv


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2017
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2017
    Messages : 66
    Points : 54
    Points
    54
    Par défaut Problème d'affichage des valeurs d'un fichier csv
    Bonjour,

    Je bloque sur un truc bête... J'ai un fichier csv que j'importe dans mon script, si il n'ya q'une colonne dans mon fichier (1 colonne nommée computer) pas de problème je peux afficher le contenu mais dès que je rajoute une deuxième colonne (nommée fait) ça ne fonctionne plus.

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $list = Import-Csv -Path ".\toto.csv"
     
    write-host $list.computers

    avec les deux colonnes j'ai essayé :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $list = Import-Csv -Path ".\toto.csv"
     
    write-host $list[0].computers

    ou

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $list = Import-Csv -Path ".\toto.csv"
     
    write-host $list[1].fait

    Mais ça ne retourne rien. Je comprends pas

    Merci d'avance pour vos lumières

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $list = Import-Csv -Path ".\toto.csv"
     
    $list.computers
    $list.fait

    Sinon, ton csv est il bien formaté ?

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2017
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2017
    Messages : 66
    Points : 54
    Points
    54
    Par défaut
    Merci pour ta réponse Ericlm128.

    En fait j'ai trouvé tout seul, il fallait ajouter un delimiter.

    Voici un extrait de mon code

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    $l = Import-Csv -Path ".\toto.csv" -Delimiter ";"
     
     
     
    $date=Get-date
    $date>>.\log.txt
     
    $i=-1
    foreach ($objet in $list) {
     
      $i++
      write-host $i
      $comp=$objet.computers
     
     
      if ((Test-Connection -Computername $comp -Quiet -Count 2)  -and (get-hotfix -ComputerName $comp | where-object {$_.hotfixid -eq 'KB'}))
      {
        $typeos=(Get-WmiObject Win32_OperatingSystem -computername $Comp).OSArchitecture
     
        $comp+':  KBdéjà installée,, version OS :'+$typeos >> .\log.txt
        $list[$i].fait="FAIT"
        $list[$i].computers="********"
     
    *
    *
    *
    $l | export-csv -Path ".\toto.csv" -Delimiter ";"
     Write-host "FINISH"

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Vraiment cela fonctionne ? Quelques remarques.

    - $list n'existe pas
    - where-object {$_.hotfixid -eq 'KB'} tu recherche vraiment un Kb avec un id KB
    - -and cela a du sens car c'est un opérateur court-circuit
    - { *** il n'y à pas d’accolade fermante et je ne comprend pas les étoiles
    - $list[$i].computers="********" pourquoi remplacer le nom du PC par des * ?
    - export-csv tu va perdre tout tes postes éteints puisque tu écrase toto.csv
    - export-csv tu va avoir une ligne en tête possédant le type des données il faut ajouter -NoTypeInformation
    - $i++ tu pourrais directement manipuler ton $objet

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/03/2014, 16h01
  2. Problème d'affichage des textes issus de fichiers KML
    Par wikimaginot dans le forum IGN API Géoportail
    Réponses: 10
    Dernier message: 07/01/2013, 12h28
  3. [Web Service] Problème d'affichage des valeurs renvoyées par un webservice
    Par informatique34 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 11/07/2011, 13h34
  4. Problème d'affichage des valeurs de mes cases a cocher
    Par ottoayoub dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 18
    Dernier message: 17/06/2009, 08h19
  5. Réponses: 11
    Dernier message: 14/03/2008, 16h45

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