Question Problème de renvoi de variable

Plus d'informations
il y a 1 an 2 mois #32974 par KD
Problème de renvoi de variable a été créé par KD
Bonjour, je rencontre un problème pour l'éxecution de ce code :

$LogicalDiskVolumeName = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object -Property Name
write-host "$LogicalDiskVolumeName"

Pour préciser je souhaiterais que les noms des disques durs soient renvoyés et ecrit a l'endroit ou est écrit write host. Si j'éxecute la prermiere ligne sans l'annonce de la variable et sans write host, cela fonctionne mais pas sous la forme que je souhaite. Mais quand j'éxecute le code écrit juste au dessus, rien ne passe. J'aimerais obtenir a la fin a l'endroit ou est écrit write host cette forme :    @{Name=noms des disques durs}. (J'aimerais cette forme car elle apparaissait dans cette forme a l'éxecution de scripts précédents pratiquement indentiques, par exemple pour la collecte d'infos d'un processeur) Auriez vous une solution ? Bonne soirée

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

Plus d'informations
il y a 1 an 2 mois #32975 par Laurent Dardenne
Salut,
>>Mais quand j'exécute le code écrit juste au dessus, rien ne passe
Si mais rien ne s'affiche et tu as bien un tableau d'objets :
$LogicalDiskVolumeName.Count
$LogicalDiskVolumeName[1].ToString()
$LogicalDiskVolumeName[1].GetType().Fullname
Mais par défaut la méthode Tostring ne fait rien sur un PSCustomObject

Pour l'affichage tu peux utiliser une boucle:
$LogicalDiskVolumeName|% {Write-Host "Name='$($_.Name)'"}

Tu peux aussi procéder ainsi en plus verbeux :
$LogicalDiskVolumeName = Get-CimInstance -ClassName Win32_LogicalDisk  | Select-Object -Property Name|Add-Member -MemberType ScriptMethod -Name ToString -Value {"Name='$($this.Name)'"} -force -PassThru
Mais cela oblige à retravailler le formatage :
"$LogicalDiskVolumeName"

#$OFS ajoute une retour chariot entre chaque élément du tableau, si celui-ci est entre double quotte
$ofs="`r`n";"$LogicalDiskVolumeName"

Tutoriels PowerShell

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

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