Here is a blog post from Kirk Munro explaining how a script can set DefaultDisplayPropertySet in its output objects:
Essential PowerShell: Defining Default Properties for Custom Objects
His method and code sample does not seem to work in PowerShell v2. (Please note that I have PowerTab and PSCX installed - maybe this may interfere.)
Does anyone know how to make this work on PowerShell v2?
UPDATE: Here is an example from a blog post that doesn't work for me (note I fixed single quote characters):
$myObject = New-Object PSObject $myObject | Add-Member NoteProperty Name 'My Object' $myObject | Add-Member NoteProperty Property1 1 $myObject | Add-Member NoteProperty Property2 2 $myObject | Add-Member NoteProperty Property3 3 $myObject | Add-Member NoteProperty Property4 4 $myObject | Add-Member NoteProperty Property5 5 $myObject ## Output: # Name : My Object # Property1 : 1 # Property2 : 2 # Property3 : 3 # Property4 : 4 # Property5 : 5 $defaultProperties = @('Name','Property2','Property4') $defaultDisplayPropertySet = New-Object System.Management.Automation.PSPropertySet('DefaultDisplayPropertySet',[string[]]$defaultProperties) $PSStandardMembers = [System.Management.Automation.PSMemberInfo[]]@($defaultDisplayPropertySet) $myObject | Add-Member MemberSet PSStandardMembers $PSStandardMembers $myObject ## Output: # Name : My Object # Property1 : 1 # Property2 : 2 # Property3 : 3 # Property4 : 4 # Property5 : 5
The output should not match after adding the DefaultDisplayPropertySet (i.e. it should only have a name, property2 and property4).
totorocat
source share