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 } } } |