Public/Get-MerakiDeviceClients.ps1
function Get-MerakiDeviceClients { <# .SYNOPSIS Retrieves the clients connected to a specified Meraki device. .DESCRIPTION This function retrieves the clients connected to a specified Meraki device using the Meraki Dashboard API. .PARAMETER AuthToken The API key for the Meraki Dashboard API. .PARAMETER deviceSerial The serial number of the Meraki device for which to retrieve clients. .PARAMETER t0 The beginning of the timespan for which to retrieve clients. Optional. .PARAMETER timespan The timespan for which to retrieve clients, in seconds. Optional. .EXAMPLE PS C:\> Get-MerakiDeviceClients -AuthToken "12345" -deviceSerial "ABC123" Retrieves the clients connected to the device with serial number "ABC123" using the Meraki Dashboard API with API key "12345". .NOTES For more information on the Meraki Dashboard API and retrieving clients, see the Meraki Dashboard API documentation: https://developer.cisco.com/meraki/api-v1/#!get-device-clients #> [CmdletBinding()] param ( [parameter(Mandatory=$true)] [string]$AuthToken, [parameter(Mandatory=$true)] [string]$DeviceSerial, [parameter(Mandatory=$false)] [string]$t0 = $null, [parameter(Mandatory=$false)] [int]$timespan = $null ) try { $header = @{ "X-Cisco-Meraki-API-Key" = $AuthToken } $queryParams = @{} if ($timespan) { $queryParams['timespan'] = $timespan } else { if ($t0) { $queryParams['t0'] = $t0 } } $queryString = New-MerakiQueryString -queryParams $queryParams $URL = "https://api.meraki.com/api/v1/devices/$DeviceSerial/clients?$queryString" $URI = [uri]::EscapeUriString($URL) $response = Invoke-RestMethod -Method Get -Uri $URI -Header $header return $response } catch { Write-Error $_ } } |