As @RaphaelL suggests, instead of traversing your networks for clients that are connected with WPA1, you could instead traverse alle the SSIDs that are configured with an encryption level that contains WPA1.
From the top of my head, you could do something like;
import meraki
## Assume MERAKI_API_ENV_KEY environment variable
dashboard = meraki.Dashboard()
OrgID = "xxx"
# Get Network IDs in Org
OrgNetworks = dashboard.organizations.getOrganizationNetworks(OrgID, total_pages='all')
# Initialise
NetworkSsids = []
NetworksWithOutdatedEncryption = []
for network in OrgNetworks:
# Get SSIDs in network
NetworkSsids = dashboard.wireless.getNetworkWirelessSsids(network)
# Traverse through SSIDs
for ssid in NetworkSsids:
tempDict = {}
# Test if WPA1 is contained in the Encprytion mode
if "WPA1" in ssid['wpaEncryptionMode']:
# Store relevant parameters
tempDict['networkid'] = network
tempDict['ssid'].append(ssid['number'])
NetworksWithOutdatedEncryption.append(tempDict)
# Update Encprytion standard
for network in NetworksWithOutdatedEncryption:
UpdateSsid(network)
LinkedIn :::
https://blog.rhbirkelund.dk/Like what you see? - Give a Kudo ## Did it answer your question? - Mark it as a Solution
🙂All code examples are provided as is. Responsibility for Code execution lies solely your own.