functions/Add-MemberOrSetValue.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function Add-MemberOrSetValue { [cmdletbinding()] param( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [object]$InputObject, [Parameter(Mandatory = $true)] [string]$PropertyName, [Parameter(Mandatory = $true)] [object]$PropertyValue ) process { if (-not (Get-Member -InputObject $InputObject -name $PropertyName -Membertype Properties)) { $InputObject | Add-Member -NotePropertyName $PropertyName -NotePropertyValue $PropertyValue } else { $InputObject."$PropertyName" = $PropertyValue } } } |