Write-PropertySet.ps1
function Write-PropertySet { <# .Synopsis Writes a property set .Description Writes a property set. Property sets are a way to conveniently access sets of properties on an object. Instead of writing: Select-Object a,b,c,d You can write: Select-Object mypropertyset .Example Write-PropertySet -typename System.IO.FileInfo -name filetimes -propertyname Name, LastAccessTime, CreationTime, LastWriteTime | Out-TypeData | Add-TypeData dir | select filetimes .Link ConvertTo-PropertySet .Link Get-PropertySet .Link Out-TypeData .Link Add-TypeData #> param( # The typename for the property set [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)] [string] $TypeName, # The name of the property set [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)] [string] $Name, # The names of the properties to include in the property set [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)] [string[]] $PropertyName ) begin { [Hashtable]$PropertySet = @{} } process { $PropertySet.$name = $PropertyName } end { Write-TypeView -TypeName $TypeName -PropertySet $PropertySet } } |