We've been using the Terra Novum EZ_GPO power management configuration tool. It's BSD-style licensed open source (written for the U.S. EPA ENERGY STAR program), and it comes in an MSI package with a Group Policy administrative template suitable for rolling out to Windows XP clients using Active Directory Group Policy.
I know that you suggest that Group Policy isn't preferred, but this tool is really pretty slick. If you can't use Group Policy to deploy it, you could install the MSI on the computers to be managed using your SMS "launch a job" functionality, and put the registry settings that the ADM template would set statically into each computer's registry. Getting per-user settings would be difficult in that model, but you could just set a blanket "sane" per-machine setting that way and be done with it.
You can disable those power management features at various level.
Graphical User Interface level
In GNOME, you should edit the following file:
sudoedit /usr/share/polkit-1/actions/org.freedesktop.upower.policy
One section concerns the suspend function and the other the hibernate one. Each as a tag that you have to set to no:
<allow_active>no</allow_active>
Keyboard level
Now, to avoid the problem if the keyboard has some related keys for these features, you have to enter the following command:
gconftool -s /apps/gnome-power-manager/buttons/hibernate -t string interactive
Command line level
It would still be possible to trigger a suspend or hibernation from the command line, here is how to disable it.
We have to create an executable script in /etc/pm/sleep.d/
that will cancel any hibernate or suspend actions.
sudoedit /etc/pm/sleep.d/000cancel-hibernate-suspend
The content of this file should be:
#!/bin/sh
# prevents hibernation and suspend
. "$PM_FUNCTIONS"
case "${1}" in
suspend|hibernate)
inhibit
;;
resume|thaw)
exit 0
;;
esac
Now make that file executable:
chmod 0755 /etc/pm/sleep.d/000cancel-hibernate-suspend
Best Answer
In your registry under HKEY_USERS(the user profile you set power options on)\PowerCfg\GlobalPowerPolicy copy the Policies option into all the other users including .DEFAULT. This worked for me.