Not with those constraints, no, not really.
Best you could so is create a report for the idle VMs and export it to CSV then have a PowerShell script to loop the CSV and shut them down via PowerCLI.
One other option is to create an alert for "VM is idle" with a action to shutdown the VM. I think you would have to manual click the alert and accept the shutdown action for each VM though.
But as Chip said, there is nothing native to do this automatically.