Public/Get-MerakiNetworkApplianceClientSecurityEvents.ps1
function Get-MerakiNetworkApplianceClientSecurityEvents { <# .SYNOPSIS Gets security events for a specific client on a Meraki network appliance. .DESCRIPTION This function retrieves security events for a specific client on a Meraki network appliance. .PARAMETER AuthToken The API token used to authenticate with the Meraki dashboard. .PARAMETER NetworkId The ID of the network containing the Meraki appliance. .PARAMETER ClientId The ID of the client for which to retrieve security events. .PARAMETER t0 The beginning of the time range for which to retrieve security events. .PARAMETER t1 The end of the time range for which to retrieve security events. .PARAMETER timespan The timespan for which to retrieve security events, in seconds. If this parameter is specified, t0 and t1 are ignored. .PARAMETER perPage The number of events to return per page. .PARAMETER startingAfter The ID of the last event on the previous page. Used to paginate through results. .PARAMETER endingBefore The ID of the first event on the next page. Used to paginate through results. .PARAMETER sortOrder The order in which to return results. Valid values are "ascending" and "descending". .EXAMPLE PS C:\> Get-MerakiNetworkApplianceClientSecurityEvents -AuthToken $AuthToken -NetworkId $NetworkId -ClientId $ClientId -t0 "2022-01-01T00:00:00Z" -t1 "2022-01-02T00:00:00Z" Retrieves security events for the specified client on the specified Meraki network appliance between the specified times. .NOTES For more information, see the Meraki API documentation: https://developer.cisco.com/meraki/api-v1/#!get-network-appliance-client-security-events #> param ( [parameter(Mandatory=$true)] [string]$AuthToken, [parameter(Mandatory=$true)] [string]$NetworkId, [parameter(Mandatory=$true)] [string]$ClientId, [parameter(Mandatory=$false)] [string]$t0 = $null, [parameter(Mandatory=$false)] [string]$t1 = $null, [parameter(Mandatory=$false)] [int]$timespan = $null, [parameter(Mandatory=$false)] [int]$perPage = $null, [parameter(Mandatory=$false)] [string]$startingAfter = $null, [parameter(Mandatory=$false)] [string]$endingBefore = $null, [parameter(Mandatory=$false)] [string]$sortOrder = $null ) try { $header = @{ "X-Cisco-Meraki-API-Key" = $AuthToken "Content-Type" = "application/json" } $queryParams = @{} if ($timespan) { $queryParams['timespan'] = $timespan } else { if ($t0) { $queryParams['t0'] = $t0 } if ($t1) { $queryParams['t1'] = $t1 } } if ($perPage) { $queryParams['perPage'] = $perPage } if ($startingAfter) { $queryParams['startingAfter'] = $startingAfter } if ($endingBefore) { $queryParams['endingBefore'] = $endingBefore } if ($sortOrder) { $queryParams['sortOrder'] = $sortOrder } $queryString = New-MerakiQueryString -queryParams $queryParams $URL = "https://api.meraki.com/api/v1/networks/$NetworkId/appliance/clients/$ClientId/security/events" $URI = [uri]::EscapeUriString($URL) $response = Invoke-RestMethod -Method Get -Uri $URI -Header $header -UserAgent "MerakiPowerShellModule/1.0.2 DocNougat" return $response } catch { Write-Debug $_ Throw $_ } } |