Public/Get-MerakiNetworkBluetoothClients.ps1
function Get-MerakiNetworkBluetoothClients { <# .SYNOPSIS Get a list of Bluetooth clients associated with a network. .DESCRIPTION Returns a list of all Bluetooth clients seen by APs in the network. If a given client has been seen by multiple APs, an entry will be returned for each AP. .PARAMETER AuthToken The Meraki Dashboard API token. .PARAMETER NetworkId The network ID. .PARAMETER t0 The beginning of the timespan for the data. The maximum lookback period is 365 days from the current date. The default is the past 7 days. .PARAMETER timespan The timespan for which the data should be fetched. The default is 1 day. .PARAMETER perPage The number of entries per page returned. The default is 10. .PARAMETER startingAfter A token used by the server to indicate where to start fetching the next page of results. .PARAMETER endingBefore A token used by the server to indicate where to stop fetching results. .PARAMETER includeConnectivityHistory Whether or not to include connectivity history in the response. The default is $true. .EXAMPLE PS C:\> Get-MerakiNetworkBluetoothClients -AuthToken "1234" -NetworkId "N_1234" -t0 "2022-03-01T00:00:00Z" -timespan 3600 Returns a list of all Bluetooth clients seen by APs in the network between March 1st, 2022 and the current time with a timespan of 1 hour. .NOTES For more information, please see: https://developer.cisco.com/meraki/api-v1/#!get-network-bluetooth-clients #> [CmdletBinding()] param ( [parameter(Mandatory=$true)] [string]$AuthToken, [parameter(Mandatory=$true)] [string]$NetworkId, [parameter(Mandatory=$false)] [string]$t0 = $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=$true)] [string]$bluetoothClientId, [parameter(Mandatory=$false)] [bool]$includeConnectivityHistory = $true ) try{ $header = @{ 'X-Cisco-Meraki-API-Key' = $AuthToken } $queryParams = @{} if ($timespan) { $queryParams['timespan'] = $timespan } else { if ($t0) { $queryParams['t0'] = $t0 } } if ($perPage) { $queryParams['perPage'] = $perPage } if ($startingAfter) { $queryParams['startingAfter'] = $startingAfter } if ($endingBefore) { $queryParams['endingBefore'] = $endingBefore } if ($includeConnectivityHistory) { $queryParams['includeConnectivityHistory'] = $includeConnectivityHistory } $queryString = New-MerakiQueryString -queryParams $queryParams $URL = "https://api.meraki.com/api/v1/networks/$networkId/bluetoothClients?$queryString" $URI = [uri]::EscapeUriString($URL) $response = Invoke-RestMethod -Method Get -Uri $URI -Header $header -UserAgent "MerakiPowerShellModule/1.0.2 DocNougat" return $response } catch { Write-Host $_ Throw $_ } } |