functions/Get-ZGEvent.ps1
|
function Get-ZGEvent { [CmdletBinding(DefaultParameterSetName = 'ByHostIds')] param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByEventIds')] [long[]] $EventId, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByGroupIds')] [long[]] $GroupId, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByHostIds')] [long[]] $HostId ) Begin { $parameters = @{ output = "extend" } switch ($PSCmdlet.ParameterSetName) { 'ByEventIds' { $parameters.eventids = $EventId } 'ByGroupIds' { $parameters.groupids = $GroupId } 'ByHostIds' { $parameters.hostids = $HostId } } } Process { $response = Invoke-ZGRequest -Method "POST" -Body @{ "method" = "problem.get" "params" = $parameters "auth" = $script:RequestAuth } return $response.result } End {} } |