The situation is the administrators at my high school have recruited my help in changing the admin password on every computer in the school. I know how long it will take to do this by hand, so I'm making a program to aid me in this prossess (one click rather than many) The problem is I have no idea how. Any advice is welcome.
The real trick is executing this new process on every system remotely. In order to do that I would have their net admin run your process as a startup entry for the systems through Active Directory, this would save you a lot of leg work and make you look a bit more like a hot shot.
There are ways to do this with code, but it looks more profesional on your part if you recommend this method instead. After all automation eliminates human error.
The real trick is executing this new process on every system emotely
Not really, NetUserSetInfo() takes a servername. And because it's an old LanMan call it'll work on machine local accounts as well as AD accounts. As long as the machine is on and you have sufficient priviledge, you can do it remotely.
This consideration is why I suggested Active Directory for deployment, that's good to know about the command though as I haven't had to read up on it yet. Maybe we should recommend a different command? I'll do some research.
Thanks for your patience I had to read the remarks section two or three times to see what you ment. Your suggestion is good but it does involve our poor OP running to every computer in the building to make sure it is turned on, there is no guarentee that government employee's were bright enough to setup WOL for every computer.
This consideration is why I suggested Active Directory for deploymentYou can only change a local machine account if it's on. It's not stored in the AD, it's stored in the local SAM.
You are correct, but AD can tell a computer to run this app everytime that it boots up. It will also run for every new PC that you put into the OU, every laptop in the group that doesn't talk to the Domain as often as the others, any PC's that may have been out for maintenance etc. It's a sloppy shotgun approach but it saves leg work and stops you from having to remember to run the process because "XYZ wasn't in the building".