Private/ConvertTo-HashTable.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function ConvertTo-HashTable {
    [CmdletBinding()]
    param ( 
        [Parameter( Mandatory = $true,   
                    ValueFromPipeline = $true,  
                    ValueFromPipelineByPropertyName = $true )] 
            [pscustomobject[]]$Object 
    ); 
    
    process { 
        foreach ($customObject in $Object) { 
            $output = @{}
            $customObject.psobject.properties | ForEach-Object { 
                $output.($_.name) = $_.Value
            } 
            $output
        } 
    } 
}