Skip to content

Instantly share code, notes, and snippets.

@aldrichtr
Forked from kevinblumenfeld/Set-StandardMember.ps1
Created October 18, 2023 14:50
Show Gist options
  • Save aldrichtr/2ea4ff2be0b352067fe14073ec31defa to your computer and use it in GitHub Desktop.
Save aldrichtr/2ea4ff2be0b352067fe14073ec31defa to your computer and use it in GitHub Desktop.
sets PSStandardMember for all input objects
using namespace System.Management.Automation
function Set-StandardMember {
[CmdletBinding()]
param(
[parameter(Mandatory, ValueFromPipeline)]
[object] $InputObject,
[parameter(Mandatory)]
[string[]] $DefaultProperties
)
begin {
[PSMemberInfo[]] $info = [PSPropertySet]::new('DefaultDisplayPropertySet', $DefaultProperties)
$memberSet = [PSMemberSet]::new('PSStandardMembers', $info)
}
process {
$InputObject.PSObject.Members.Add($memberSet)
$InputObject
}
}
$InputObject = [pscustomobject]@{
foo = 123
bar = 456
}
$InputObject | Set-StandardMember -DefaultProperties foo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment