function Get-Nameserver { [CmdletBinding(DefaultParameterSetName="ByID")] param ( [parameter( Mandatory=$false, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=0, ParameterSetName="ByID" )] [ValidateNotNullOrEmpty()] [int] $Id ) process { $_params = @{ Controller = [PS.IPAM.controllers]::tools SubController = [PS.IPAM.subcontrollers]::nameservers Method = "GET" Type = [PS.IPAM.types]::nameserver } switch ($PSCmdlet.ParameterSetName) { "ByID" { $_nameserverId = $Id; break } } $_identifiers = @($_nameserverId) $_params.Add("Identifiers",$_identifiers) Invoke-Request @_params } } Export-ModuleMember -Function Get-Nameserver