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 :

foreach et export- csv


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 75
    Points : 53
    Points
    53
    Par défaut foreach et export- csv
    Bonjour la communauté.

    cela fait déjà quelques jours que je suis sur cette problématique mais sans solution jusqu’à présent.

    j’explique, j’ai un vulgaire powershell avec un fichier d’entrée (liste de serveurs) sur lequel je souhaite appliquer un traitement via une boucle foreach et, en récupérer le résultat en sortie dans un csv.

    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
     Emplacement fichierSource
    $fileComputerNames = "E:\ReportXplanif\ServeursIUCR2K12.txt"
    # Write-Host $fileComputerNames
     
    # Emplacement fichierDestination
    $desti = "E:\ReportXplanif"
    # Write-Host $desti
     
    Foreach ($server in Get-Content $fileComputerNames) {
     
     
        $cmde = {Get-ScheduledTask | Where {$_.Principal.userid -eq "ZRES\XPLANIF"} | Get-ScheduledTaskInfo}
        Invoke-Command -ComputerName $server -ScriptBlock $cmde |
        Select @{LABEL='Serveur';EXPRESSION={$server}}, TaskName,LastRunTime,NextRunTime
        }
       Export-csv ($desti + "\XplanifTasks.csv") -Delimiter "," -NoTypeInformation

    La boucle semble fonctionner puisque exécuter dans ise je la voix bien dérouler par contre, sur un fichier d’entrée de 100 ligne seule la dernière est exporter (les précédentes occurrences sont écrasées) pourquoi je ne sais pas. J’ai déjà essayé de réadapter le script en ajoutant des variables pour l’incrémentation (voir code si dessous) mais sans réussite.

    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
    # Emplacement fichierSource
    $fileComputerNames = "E:\ReportXplanif\ServeursIUCR2K12.txt"
    # Write-Host $fileComputerNames
     
    # Emplacement fichierDestination
    $desti = "E:\ReportXplanif\"
    # Write-Host $desti
     
    $cmde = @()
    Foreach ($server in Get-Content $fileComputerNames) {
     
     
        $cmde += {Get-ScheduledTask | Where {$_.Principal.userid -eq "ZRES\XPLANIF"} | Get-ScheduledTaskInfo}
        Invoke-Command -ComputerName $server -ScriptBlock $cmde |
        Select @{LABEL='Serveur';EXPRESSION={$server}}, TaskName,LastRunTime,NextRunTime
        }
     
        $cmde | Export-csv ($desti + "\XplanifTasks.csv") -Delimiter "," -NoTypeInformation

    Pourriez-vous y jeter un oeil et m’eclairer svp

    PS :
    J'ajoute que j'utilise powershell v4 et ou powershell V3

  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
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     Emplacement fichierSource
    $fileComputerNames = "E:\ReportXplanif\ServeursIUCR2K12.txt"
    # Write-Host $fileComputerNames
     
    # Emplacement fichierDestination
    $desti = "E:\ReportXplanif"
    # Write-Host $desti
     
    (Foreach ($server in Get-Content $fileComputerNames) {
     
     
        $cmde = {Get-ScheduledTask | Where {$_.Principal.userid -eq "ZRES\XPLANIF"} | Get-ScheduledTaskInfo}
        Invoke-Command -ComputerName $server -ScriptBlock $cmde |
        Select @{LABEL='Serveur';EXPRESSION={$server}}, TaskName,LastRunTime,NextRunTime
        }
    ) | Export-csv ($desti + "\XplanifTasks.csv") -Delimiter "," -NoTypeInformation

    Ou alors utiliser -Append

Discussions similaires

  1. [ACCESS 2003]Export .csv
    Par guiguikawa dans le forum Access
    Réponses: 6
    Dernier message: 23/06/2006, 10h56
  2. Export CSV
    Par LeCaméléon dans le forum XMLRAD
    Réponses: 3
    Dernier message: 18/04/2006, 14h32
  3. [EXPORT] CSV
    Par sleepy2002 dans le forum Oracle
    Réponses: 2
    Dernier message: 03/04/2006, 10h14
  4. Export CSV
    Par lapartdombre dans le forum Documents
    Réponses: 12
    Dernier message: 17/10/2005, 14h46
  5. Export CSV de champs qui contiennent des ";"
    Par boteha dans le forum Outils
    Réponses: 4
    Dernier message: 19/09/2005, 19h05

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