In PowerShell 3.0, you can cast a hash table to a PSCustomObject type to easily generate your own objects:
$content = @{ Name="Weltner" FirstName='Tobias' id=123 } [PSCustomObject]$content The result is an object: Name FirstName id ---- --------- -- Weltner Tobias 123
The primary advantage of this approach is that you control the order of object properties. With the approach used in PowerShell 2.0, this was not guaranteed:
PS> New-Object PSObject -Property $content id Name FirstName -- ---- --------- 123 Weltner Tobias
Note that in PowerShell 2.0, conversion to PSCustomObject fails, and you get back a hash table.