I have a similar issue. One option is to vmrun start the suspended machine and then to vmrun stop it... But, if doing this with a script, we need to know the state of the machine in order to be sure that we do not vmrun start/stop VMs which are already stopped -- because it will be a bit silly.
There's no graceful shut down of a suspended VM.
To shut down, like the other poster says, you'll have to first resume. After resuming the VM you can ask the OS in the VM to shut down via vmware tools.
The only alternative is a power off.
But that's not a graceful thing to do as it is basically a "pull the power cord" type of solution.
Wil| Author of Vimalin. The virtual machine Backup app for VMware Desktop Products
| Vimalin : Automated backups for VMware Fusion and VMware Workstation Professional
| More info at https://www.vimalin.com
| Twitter @wilva
| VMware Wiki at http://www.vi-toolkit.com