3 votes

Imprimer uniquement les noms des propriétés de l'objet PowerShell

J'essaie d'imprimer uniquement les noms des propriétés d'un objet Powershell.
Dans un script, je fais un Invoke-RestMethod y Write-Host ($response.result | Format-List | Out-String) me donne une belle liste des $response.result objet.
Get-Member -InputObject $response.result n'affiche pas non plus ce que je veux.
$response.result ressemble à ceci : @{id=1; skip=true} . Comment puis-je obtenir une liste/tableau qui montre id, skip etc.
Merci beaucoup !

7voto

Ansgar Wiechers Points 38466

Tous les objets PowerShell ont une propriété cachée PSObject qui permet d'accéder à des informations sur l'objet, par exemple ses propriétés :

$response.result.PSObject.Properties | Select-Object -Expand Name

2voto

Mike Shepard Points 5109

S'il ne s'agit pas d'une table de hachage, vous pouvez utiliser Get-Member pour trouver les propriétés comme ceci :

$response.result | Get-Member -MemberType Properties | Select-Object Name

1voto

campbell.rw Points 1014

Si le résultat n'est qu'une simple table de hachage à 1 niveau, vous pouvez faire quelque chose comme :

(@{id=1; skip=$true}).GetEnumerator() | %{ $_.Key }

id
skip

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X