functions/Add-MemberOrSetValue.ps1
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 } } } |