Chane root - username and password wih script

Hi.
I am administrating about 400 Mikrotik router on a routed network.
I use radius authentication normally to log in to routers and to give access for support desk.
I dont use any scripts at the moment only for backup.
What i want is some kind of tool that I can add my routers IP’s to.
It must login via ssh or even telnet is fine, and change the full access password.
It must run as a batch to all routers, and then report back if all was completed and which ones was not. (then i can manually go and see why not)
I can ad a radius user with full rights for this purpose.
I would like to run it on a windows server - if not able to I will make a designated server for this purpose if really needed.
Reason for this is to change root logins each month and to access routers if they dont have access to radius authentication server at a specific moment.

I dont really need to change the username onl the password of the full access user

if you use RADIUS, then you can disable default admin user, or even remove it, and then create user in your RADIUS, so you can log in the router using ssh/telnet using RADIUS authentication. As result, changing password in your RAIDUS you will “change” it on all the routers.

That is what we currently use, But the “full access” user on the board itself is what i want to change.
If the router does not have access to the radius server or the link to the radius server is down, and we have to access it via the “full access” user on the router itself.
I have about 400 of those routers I want to add a new user and password to the router, and then be able to change all of them monthly at once.
But need report or logfile if there were errors

you can execute command like this:

/user add name=user password=pass group=full

or use API

/user/add
=name=user
=password=pass
=group=full

or edit current user:

/user/set
=.id=user
=password=other pass

using api you get certain message with id if you added new entry or !done, if this was successful. Log file can be created by the tool - that it could not connect to certain device or other errors if reported by RouterOS.