Question Tableau d'objets

Plus d'informations
il y a 12 ans 11 mois #14551 par Benjamin
Tableau d'objets a été créé par Benjamin
Bonjour à tous,

Je suis un grand débutant en PS mais je me débrouille un peu en programmation.

J'ai un petit soucis avec le script suivant:

Je n'arrive pas à ajouter les objets sans écraser le précedent...

[code:1]$items = get-WmiObject Win32_LogicalDisk
$date = (get-date).ToString('yyyyMMdd')
clear
$hostName = (Get-WmiObject win32_operatingSystem).csname
$out = New-Object System.Object
$out | add-member -membertype noteproperty -value \"\" -name dateJour
$out | add-member -membertype NoteProperty -value \"\" -name nomDisque
$out | add-member -membertype NoteProperty -value \"\" -name taille

$outFull = @()

foreach ( $disk in $items ) {

$diskName=($disk.Name).Substring(0,1)

$freeSpace = [math]::round(($disk.freespace / (1024*1024*1024)), 2)
$usedSpace = [math]::round((($disk.size / (1024*1024*1024)) - $freeSpace), 2)

if ($disk.DriveType -lt '4')
{
$nameFree = \"\\$hostname\$diskName (freeSpace)\"
$nameUsed = \"\\$hostname\$diskName (usedSpace)\"

$outFree = $out
$outFree.dateJour = $date
$outFree.nomDisque = $nameFree
$sortieF.taille = $freeSpace
$outFull += $outFree

$outUsed = $out
$outUsed.dateJour = $date
$outUsed.nomDisque = $nameUsed
$outUsed.taille = $usedSpace
$outFull += $outUsed

write-host \"$date $nameFree $freeSpace\"
write-host \"$date $nameUsed $usedSpace\"
}
}
$outFull | export-csv -Delimiter \";\" -path \"rapport-$date.csv\" -notypeinformation
$outFull | ft -AutoSize[/code:1]

Auriez-vous une piste pour m'aider à résoudre mon petit soucis

Ben

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 11 mois #14554 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Tableau d'objets
Salut,
crée ton objet $Out dans la boucle et supprime les variables intermédiaires.

Si ton traitement concerne un seul objet, tu ne devrais avoir, pour chaque itération, qu'une seule affectation dans la tableau final $outFull.

Et si tu dois gérer deux valeurs distinctes, $outFree et $outUsed, la structure de données tableau n'est pas adapté ou pas sous cette forme là.

Mais, surtout, sans spécification précise difficile de préconiser une implémentation.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 11 mois #14555 par Benjamin
Réponse de Benjamin sur le sujet Re:Tableau d'objets
Bonjour,

Merci beaucoup pour l'aide.

J'ai effectué les modifications que tu m'avais donné et cela fonctionne maintenant à merveille.

Je sais maintenant qu'il est plus pratique de créer un nouvelle objet dans la boucle.

Merci beaucoup et j'espère qu'un jour, je pourrais aider d'autre débutant.

Ben

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.041 secondes
Propulsé par Kunena