Public/Get-CAMVendor.ps1
function Get-CAMVendor { <# .SYNOPSIS Function to retrieve Vendor from the Cireson Asset Management .DESCRIPTION Function to retrieve Vendor from the Cireson Asset Management .PARAMETER DisplayName Specifies the DisplayName .PARAMETER ID Specifies the ID. Typically the GUID. .PARAMETER Filter Specifies the filter you want to apply .EXAMPLE Get-CAMVendor Retrieve all the Vendor .EXAMPLE Get-CAMVendor -DisplayName "Insight*" Retrieve the Vendor Display Name starting by Insight .EXAMPLE Get-CAMVendor -id '3cbgg558-a09c-b717-2401-05aef430b01f' Retrieve the specific Vendor with the ID '3cbgg558-a09c-b717-2401-05aef430b01f' .NOTES Francois-Xavier Cat www.lazywinadmin.com @lazywinadm github.com/lazywinadmin #> [CmdletBinding(DefaultParameterSetName = 'All')] param ( [Parameter(ParameterSetName = 'DisplayName')] [System.String]$DisplayName, [Parameter(ParameterSetName = 'ID')] $Id, [Parameter(ParameterSetName = 'Filter')] [System.String]$Filter ) BEGIN { if (-not (Get-Module -Name SMLets)) { Import-Module -Name SMLets -ErrorAction Stop } Write-Verbose "[BEGIN] ParameterSet: $($PSCmdlet.ParameterSetName)" } PROCESS { TRY { $Splatting = @{ Class = (get-scsmclass -name 'Cireson.AssetManagement.Vendor') } IF ($PSBoundParameters['DisplayName']) { Get-Scsmobject @Splatting -Filter "DisplayName -like $DisplayName" } ELSEIF ($PSBoundParameters['ID']) { Get-Scsmobject @Splatting -Filter "Id -eq $ID" } ELSEIF ($PSBoundParameters['Filter']) { get-scsmobject @Splatting -Filter $Filter } ELSE { get-scsmobject @Splatting } } CATCH { Write-Error -Message "[PROCESS] An Error occured" $Error[0].Exception.Message } } } |