How can I create a script to change the wireless key using the Ubiquiti Unifi controller or Unifi wireless access points

Hello Experts,

I have a desire to create a script that will change the wireless access key on a Guest wireless network comprised of 5 Unifi wireless access points.  I have the Unifi controller software installed on a Windows 2012 R2 server and all seems to be working well.

I would like a script that can run on a monthly basis to change the wireless key\password (various reasons for this).  I am having issues finding any information on how to do that on a Windows server using a command (bat) file or Powershell.

Any assistance would be appreciated.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Not sure it would be worth your while to accomplish what you'd like. The central provisioning information I believe is in a database.


If you go to C:\Users\[user name which you installed controller under]\Ubiquiti UniFi\data\devices

You will find folders that device out the type of device (most likely UAP). Within there, you will see folders that are named after the MAC addresses of each device. In there, you will see a system.cfg file. That will contain what you're looking for.

However, since you most likely have each WAP provisioning to the controller, it is possible that it might just get changed back to what the controller has. Now if you want to modify the database itself, the controller I believe utilizes MongoDB.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
karisloveAuthor Commented:

Thanks for the info.  I see the files you are talking about.  I will have to play and see if the controller software can be updated in that way.  

I found SSH commands to modify the UAPs directly but the controller is unaware of the changes and the next time you modify settings using the controller it overwrites the UAPs configuration.

I am really looking for a powershell script that will interface with the controller code\db so I can utilize the provisioning facilities of the controller.  I am not familiar with MongoDB so writing anything will be a fair bit of learning.  I was hoping to get a significant shove in the right direction.

Well, you are now pointed in the right direction, knowing that your battle is really with a database. It is just debatable how easily what you need can be done.

You may want to consider looking for a programmer or consultant who might be able to write what you need.

Just a thought, have you considered implementing 802.1X?
PMI ACP® Project Management

Prepare for the PMI Agile Certified Practitioner (PMI-ACP)® exam, which formally recognizes your knowledge of agile principles and your skill with agile techniques.

karisloveAuthor Commented:
A programmer is the next step if it looks like the time spent learning outweighs the cost of the programmer.  You know that numbers game.

802.1x would be a good place to go but it doesn't seem to fit the current situation.  Cause... ya know... reasons.  Just changing the key seems to fit best for the moment.  

All I need is a powershell script to update the key and reprovision the UAPs.  Everyone is happy after that.  My life gets easier when everyone is happy.

Time to learn MongoDB.

I'd recommend doing a gig listing on here then, as well as some other sites. Lots of people should be able to do it.

Alternatively, if you want a little bit of info for you to try yourself...
karisloveAuthor Commented:

Daniel Weber is already in my list of research links.  Thanks for the thought though.  I am going to research my options later this week and see where that leads.  I will update this thread next week with what I find.

I may post a gig if I can't get over the wall I am up against.

Programming is necessary, and will be done either in house or as a gig. There does not exist a simple solution that comes out of the box.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Wireless Networking

From novice to tech pro — start learning today.