functions/Get-ZGGroup.ps1
|
function Get-ZGGroup { [CmdletBinding(DefaultParameterSetName = 'ByNull')] param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByGroupIds')] [long[]] $GroupId, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByHostIds')] [long[]] $HostId, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByMaintenanceIds')] [long[]] $MaintenanceId, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByTriggerIds')] [long[]] $TriggerId ) Begin { $parameters = @{ output = "extend" } switch ($PSCmdlet.ParameterSetName) { 'ByGroupIds' { $parameters.groupids = $GroupId } 'ByHostIds' { $parameters.hostids = $HostId } 'ByMaintenanceIds' { $parameters.maintenanceids = $MaintenanceId } 'ByTriggerIds' { $parameters.triggerids = $TriggerId } } } Process { $response = Invoke-ZGRequest -Method "POST" -Body @{ "method" = "hostgroup.get" "params" = $parameters "auth" = $script:RequestAuth } $response.result } } |