Private/Format-NullProperties.ps1
function Format-NullProperties { [cmdletbinding()] param( [parameter(Mandatory, ValueFromPipeline)] [psobject] $InputObject ) process { $obj = [pscustomobject]::new() foreach ($prop in $InputObject.psobject.properties) { if (($($InputObject.$($prop.Name).length) -ne 0)) { if ($($InputObject.$($prop.Name) -ne "notConfigured")) { Add-Member -InputObject $obj -NotePropertyName $prop.Name -NotePropertyValue $prop.Value } } } $obj.pstypenames.Insert(0, 'NonNull.' + $InputObject.GetType().FullName) return $obj } } |