brad
6

Comments

Setting Screensaver Timeout for All users on a system including new users

Posted 2/28/12 at 11:23 AM by brad

Hi all,

I was having trouble finding a solid solution/script to set the screensaver timeout universally. This is the script I came up with to make it happen. Let me know if you have any feedback. And, of course, this comes with out warranty and don't hold it against me if your machine blows up but I have tested it with 10.5-10.7. Hope it helps someone out there.

#!/bin/sh
######################################################################################
# Sets Screen Saver Timeout for all users to passed variable from Casper.
# Brad Schmidt February 28, 2012
#################################################


# List the preference files for existing Users
preffiles=`ls /Users/*/Library/Preferences/ByHost/com.apple.screens* | grep -v lockfile | rev | cut -c7-1000 | rev`


# Modify each preference file and reset permissions back to original owner
for item in $preffiles ; do defaults write $item idleTime $4; chown `echo $item | cut -f3 -d '/'` $item".plist" ; done

# Copy complete preference files to the User Template - disttech is a user that is on all of our machines, change it to suit your environment
cp /Users/disttech/Library/Preferences/ByHost/com.apple.screensaver* /System/Library/User\ Template/English.lproj/Library/Preferences/ByHost/

# Set Permissions on those preference files in User Template
chown root:wheel /System/Library/User\ Template/English.lproj/Library/Preferences/ByHost/com.apple.screensaver*
chmod 700 /System/Library/User\ Template/English.lproj/Library/Preferences/ByHost/com.apple.screensaver*

exit 0



Thanks!

Brad

6

Comments

dhowell
Posted 2/29/12 at 6:51 AM by dhowell

I used this one using a applescript, I like yours better, more granular



global screenSaverOn


tell application "System Events"
tell security preferences
set require password to wake to true
end tell
end tell

golbiga ccaBadge
Posted 2/29/12 at 7:50 AM by golbiga

Why not just use MCX? That is what I do and it works great. 10.5-10.7

Allen

acdesigntech
Posted 2/29/12 at 9:42 AM by acdesigntech

I agree with golbiga, MCX is a much better way to go for setting a screensaver for this one...

Using Casper, you have to set 3 managed preferences for this: askForPassword, askForPasswordDelay, and idleTime. At my company we have them set to the following: askForPassword type integer value 1, askForPasswordDelay type real value 0.0, and idleTime type integer value 1200. Each one is set to be enforced at the user level at every login (always in WGM).

Once these preferences are set, you make a managed preference profile that includes these three prefs, then apply it to whichever computer groups you'd like to apply it to. Works like a charm.

Technically you don't have to set the askForPassword or askForPasswordDelay options, but you do if you'd like to lock desktops - security policy here...

brad
Posted 2/29/12 at 9:47 AM by brad

Unfortunately MCX isn't an option on our network. Some sites use their own WGM server so we can't enable MCX on Casper as they conflict.

acdesigntech
Posted 2/29/12 at 6:08 PM by acdesigntech

I am not blocking the desktop/screen saver pref pane. Users can change those settings all they want, but if they try to disable the screen saver or security settings, they just get pushed again on the next login.