Accessing values of object properties in PowerShell Accessing values of object properties in PowerShell powershell powershell

Accessing values of object properties in PowerShell


Once you iterate over the properties inside the foreach, they become available via $_ (current object symbol). Just like you printed the names of the properties with $_.Name, using $_.Value will print their values:

$obj.psobject.properties | % {$_.Value}


Operator precedence interprets that in the following way:

($obj.$_).Name

which leads to nothing because you want

$obj.($_.Name)

which will first evaluate the name of a property and then access it on $obj.


You don't have to iterate over all properties if you just need the value of one of them:

$obj.psobject.properties["foo"].value