VMware Snapshot records the state and data of the virtual machine at a given point in time. It's really helpful while performing any changes or maintenance in a VM so that if anything goes wrong during the activity you can revert the snapshot to bring the server back to the pre-activity state.
However, it's a pain to take the snapshot manually every time especially when you have multiple VMs, taking a snapshot manually takes a lot of time and effort. Therefore you may want to schedule VMWare Snapshot to capture the state of the VM at a time automatically.
The below script will create a scheduled snapshot task in vcenter for a list of servers. You just need to modify the script with the path of your txt file containing the name of the VMs, the time of the snapshot, and the email address where you want the confirmation email when the snapshot tasks run.