MacOS – Mac OS X Lion Server: How to disable Sleep/Restart/Shutdown options for users

macosserver.app

The Apple-Menu shows Sleep, Restart..., Shut Down... elements for all users.
I would like to be able to prevent users from shutting down the system or from restarting the system. While a Restart... may not be result in only temporary downtime, a Shut Down... would lead to a downtime until someone has physical access to the machine.

Best Answer

I've removed shutdown for my lab Macs on OS X Lion. The two commands that should accomplish this are:

sudo defaults write /Library/Preferences/com.apple.loginwindow ShutDownDisabled -bool true
sudo defaults write /Library/Preferences/com.apple.loginwindow ShutDownDisabledWhileLoggedIn -bool true

I've not had 100% success with them, so I've also edited the interface file at: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/English.lproj/StandardMenus.nib/objects.xib

If you want to remove the Sleep and Shut Down options, look for the following id's in object and reference tags. Delete the entire object, one for the Sleep option and two for the Shut Down option, and each of the references.

id's: Sleep - 236 Shut Down - 238, 285

Source: http://rustyisageek.blogspot.com/2012/06/editing-apple-menu.html

Edit: I've been told that when these settings are applied with MCX, they work as expected!