You can try with php framework.
List all virtual servers with serverList(),
after that use foreach to parse all servers one by one and perform $ts3->snapshotCreate();
Also there is script already made for this type of task, but you need to change a little bit to work on all servers. Link
Didnt know for that. Will look into creating my own script.Do not use forge media snapshot.. it's broken.
Luckily I had a backup of my server just a day b4, but me taking a snapshot and then restoring completely broke my server.