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 :

changer le format d'affichage


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 347
    Par défaut changer le format d'affichage
    bonjour a tous

    j'utilise ce petit script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Clear-Host
    Get-WmiObject Win32_logicaldisk -Filter "MediaType='12'"  -ComputerName "Server1" `
    | Select SystemName, DeviceID,VolumeName,@{Name="Size(GB)";Expression={"{0:N1}" -f($_.size/1gb)}},@{Name="FreeSpace(GB)";Expression={"{0:N1}" -f($_.freespace/1gb)}}   |format-list
    pour afficher l’état d'espace disque ma résultat est la suivante


    SystemName : Server1
    DeviceID : C:
    VolumeName :
    Size(GB) : 69,9
    FreeSpace(GB) : 7,3

    SystemName : Server1
    DeviceID : D:
    VolumeName : DATA
    Size(GB) : 245,0
    FreeSpace(GB) : 44,6

    je cherche a avoir cette résultat d'affichage


    Server1 ; C: ; Size(GB) : 69,9
    Server1 ; C: ; FreeSpace(GB) : 7,3
    Server1 ; D: ; Size(GB) : 245,0
    Server1 ; D: ; FreeSpace(GB) : 44,6

    Qui peut me donner un piste pour avoir cette affichage

    merci pour tous vos aides

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Par défaut
    alors essai en remplacent format-list par format-table

  3. #3
    Membre éclairé
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 347
    Par défaut
    non format-table ne répond pas a mon besoin

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Les cmdlets Format-* attendent un objet et renvoi des objets de formatage interprété par un host Powershell.
    On pourrait faire qq chose comme ceci :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Filter Split-InfoDiskObject {
     Select-Object -InputObject $_ -property SystemName,DeviceID,'Size(GB)'
     Select-Object -InputObject $_ -property SystemName,DeviceID,'FreeSpace(GB)'
    }
    $infoTAB|Split-InfoDiskObject |Fomrat-table
    Mais Powershell à une règle d'affichage interne qui fait que ceci ne fonctionne pas en l'état. PS s'attend à ce que les objets soient de même structure, ce qui n'est pas le cas avec cet essai.
    Si on change l'ordre de création on obtient un résultat différent mais tjr incomplet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SystemName DeviceID Size(GB)
    ---------- -------- --------
    LAURENT-PC C:       465,7
    LAURENT-PC C:
    
    
    SystemName DeviceID FreeSpace(GB)
    ---------- -------- -------------
    LAURENT-PC C:       288,9
    LAURENT-PC C:
    Dans un premier temps un affichage texte peut suffire, tu construis une suite de chaine de caractères.
    Autre possibilité, créer une propriété temporaire qui contient du texte, ainsi la structure est identique (même nom de propriété) mais le contenu est différent selon les cas.Mais je n'ai le temps de tester cela pour le moment

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Quelque chose qui se rapproche de ton format :
    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
     
    Filter Split-InfoDiskObject {
     Select-Object -InputObject $_ -property SystemName,DeviceID, @{Name="FreeSpace";Expression={'Size(GB) : {0}' -f $_.'Size(GB)'}}
     Select-Object -InputObject $_ -property SystemName,DeviceID,@{Name="FreeSpace";Expression={'FreeSpace(GB) : {0}' -f  $_.'FreeSpace(GB)'}}
    }
     
    $Properties=@(
     'SystemName',
     'DeviceID',
     'VolumeName',
     @{Name="Size(GB)";Expression={"{0:N1}" -f($_.size/1gb)}},
     @{Name="FreeSpace(GB)";Expression={"{0:N1}" -f ($_.freespace/1gb)}}
    )
     
    Get-WmiObject Win32_logicaldisk -Filter "MediaType='12'"  | 
      Select-Object $Properties|
      Split-InfoDiskObject|
      Format-Table
    Tu peux aussi tester avec ConvertTo-Csv à la place de Format-Table

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Par défaut
    je remarque dans le résultat demander des points virgules, voudrais tu faire des export en CSV ??

    une solution qui affiche exactement comme ta demande !! :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Get-WmiObject Win32_logicaldisk -Filter "MediaType='12'"  -ComputerName "Server1" | foreach {
        "$($_.SystemName) ; $($_.DeviceID) ; Size(GB) {0:N1} " -f ($_.size/1gb)
        "$($_.SystemName) ; $($_.DeviceID) ; FreeSpace(GB) {0:N1} " -f ($_.freespace/1gb)
        }

Discussions similaires

  1. Changer le format d'affichage date dans JTable
    Par Telemak dans le forum Composants
    Réponses: 4
    Dernier message: 22/02/2012, 21h00
  2. [cruiseControl.net] changer le format d'affichage
    Par juju92 dans le forum Framework .NET
    Réponses: 3
    Dernier message: 25/01/2008, 09h58
  3. changer le format d'affichage des resultats
    Par Smix007 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/05/2007, 13h38
  4. Réponses: 14
    Dernier message: 07/06/2006, 09h28
  5. [VB6] [Flexgrid] Format d'affichage des numériques
    Par yansolo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/10/2002, 21h00

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