private/Get-ObjectMember.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
function Get-ObjectMember { [CmdletBinding()] param( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PSCustomObject] $Object ) begin { Write-LogMessage -Message "Started execution" } process { $output = $Object | Get-Member -MemberType NoteProperty | ForEach-Object { $key = $_.Name [PSCustomObject] @{ Key = $key Value = $Object."$key" } } return $output } end { Write-LogMessage -Message "Finished execution" } } |