Okay I fixed the issue completely by using the task scheduler and using a batch file to restart the service on login after 30 seconds of any user being logged in.
To do this all you need to do is the following -
Right click your desktop and create a .txt file, edit the file so that it has the following written inside of it
Net stop WlanSvc
Net start WlanSvc
Click save as (must be save as) and change the file name to something like "Restart.bat" (you need .bat in order for it to execute)
You can test that this works before doing anything further in case this isn't what is causing your issue by right click the file you made and starting is as admin, if it fixes your issue then good! You're on track.
Once you've done this move the file to a location that best suits you, I chose to put it into my local folder inside of %appdata% (do this by searching in your start bar for %appdata% or going to your documents < view < hidden items and going to your local
disk < users < account name < appdata). Local was best suited for me as I don't need much access to this area of my computer.
After that start up a program called task scheduler.
On the right hand side click create task, name is anything you need to and add the description incase you ever need to edit it. Click on change user or group < advanced < find now < and scroll until you can click on SYSTEM. Click ok and ok again. Make sure
to configure for your operation system! Change the triggers by clicking new < at log on and make sure that the enabled check box is ticked. Also I recommend changing the delay to 30 seconds to ensure that the task is set up properly (I had an issue with no
delay)
Go to actions < new < start a program and click on browse for program/script and find the file that you created (in this case I made "restart.bat". Click ok once you've finished and restart your computer.
Hopefully this helped another user and not just myself.