Public/Get-NBObject.ps1
|
function Get-NBObject { [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(Mandatory)] [string]$ObjectType, [Parameter(ParameterSetName = 'ByID')] [int]$ID, [Parameter(ParameterSetName = 'Filter')] [hashtable]$Filter ) $params = @{ ObjectType = $ObjectType Method = 'Get' } if ($PSBoundParameters.ContainsKey('ID')) { $params['ID'] = $ID } if ($PSBoundParameters.ContainsKey('Filter')) { $params['Filter'] = $Filter } $results = Invoke-NBRestMethod @params # Attach ObjectType and ID as NoteProperties for pipeline support foreach ($item in $results) { $item | Add-Member -NotePropertyName 'NBObjectType' -NotePropertyValue $ObjectType -Force if ($item.id) { $item | Add-Member -NotePropertyName 'NBObjectID' -NotePropertyValue $item.id -Force } } return $results } |