Is there a way to change the password to the Guest WIfi for 24 networks without having to go into each network and change it one by one. Looking for an automated way to change all at one time.
Via the API or if the config is 100% identical you might be able to use templates. Those are the only 2 options.
Using the API you can use this,
#! /usr/bin/env python3
import meraki
def main():
dashboard = meraki.DashboardAPI(
suppress_logging=True
)
OrgId = str(input("Organization ID: "))
SsidName = str(input("Target SSID: "))
NewPsk = str(input("New Psk: "))
Networks = dashboard.organizations.getOrganizationNetworks(OrgId)
Targets = {}
for network in Networks:
Ssids = dashboard.wireless.getNetworkWirelessSsids(network['id'])
for Ssid in Ssids:
if Ssid['name'] == SsidName:
Targets.append({
'name': network['name'],
'networkId': network['id'],
'SsidNumber': Ssid['number']
})
# Update PSK
for target in Targets:
print("Updating",network['name'])
response = dashboard.wireless.updateNetworkWirelessSsid(
target['networkId'], target['SsidNumber'],
psk=NewPsk
)
print("Done")
if __name__ == "__main__":
main()
thanks for the code for the API, saving a lot of work doing it this way.
Thank you for the reply. What if I am using Postman, how would you get all the networks to show and the guest SSID's?
I'm not that versed in Postman, so unfortunately I can't say. However, I seem to recall there are some looping functionality in Postman, but I'm not sure. You're best is to look at some of the guides and documentation for Postman.
Assuming you don't have every network templated, the API is definitely the way to do it.
With that said, you might be better off looking at an integration such as SplashAccess, Cloudi-Fi or Cloud4Wi (to name a few) to manage that kind of thing automatically.