Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #powerusers_installcheck
- #checks the current configuration for power users and returns a value that Munki understands
- PLISTBUDDY="/usr/libexec/PlistBuddy"
- AUTHFILE="/etc/authorization"
- #Running only on Mondays
- ISMONDAY=date | cut -d" " -f 1
- if [ ! "${ISMONDAY}" = "Mon" ] ; then
- echo "FYI not Monday. exit -1"
- exit -1
- fi
- ######
- UPDATESCAN=`$PLISTBUDDY -c 'Print :rights:com.apple.SoftwareUpdate.scan:rule' $AUTHFILE`
- if [ ! "${UPDATESCAN}" = "allow" ]; then
- exit 0
- fi
- UPDATEINSTALL=`$PLISTBUDDY -c 'Print :rights:system.install.apple-software:rule' $AUTHFILE`
- if [ ! "${UPDATEINSTALL}" = "allow" ]; then
- exit 0
- fi
- DATETIME=`$PLISTBUDDY -c 'Print :rights:system.preferences.datetime:group' $AUTHFILE`
- if [ ! "${DATETIME}" = "everyone" ]; then
- exit 0
- fi
- ENERGYSAVER=`$PLISTBUDDY -c 'Print :rights:system.preferences.energysaver:group' $AUTHFILE`
- if [ ! "${ENERGYSAVER}" = "everyone" ]; then
- exit 0
- fi
- SYSPREFS=`$PLISTBUDDY -c 'Print :rights:system.preferences:group' $AUTHFILE`
- if [ ! "${SYSPREFS}" = "everyone" ]; then
- exit 0
- fi
- PRINTING=`$PLISTBUDDY -c 'Print :rights:system.preferences.printing:group' $AUTHFILE`
- if [ ! "${PRINTING}" = "everyone" ]; then
- exit 0
- fi
- # lpadmin group membership
- EVERYONE=`dsmemberutil getuuid -G everyone`
- ! dscl /Local/Default -read Groups/_lpadmin NestedGroups | grep "$EVERYONE"
- TIMEMACHINE=`$PLISTBUDDY -c 'Print :rights:system.preferences.timemachine:group' $AUTHFILE`
- if [ ! "${TIMEMACHINE}" = "everyone" ]; then
- exit 0
- fi
- echo "FYI exit -1"
- exit -1
- #any faster?
- #ARRAY_TO_CHECK=()
- #ARRAY_TO_CHECK+=`$PLISTBUDDY -c 'Print :rights:com.apple.SoftwareUpdate.scan:rule' $AUTHFILE`
- #ARRAY_TO_CHECK+=`$PLISTBUDDY -c 'Print :rights:system.install.apple-software:rule' $AUTHFILE`
- #ARRAY_TO_CHECK+=`$PLISTBUDDY -c 'Print :rights:system.preferences.datetime:group' $AUTHFILE`
- #ARRAY_TO_CHECK+=`$PLISTBUDDY -c 'Print :rights:system.preferences.energysaver:group' $AUTHFILE`
- #ARRAY_TO_CHECK+=`$PLISTBUDDY -c 'Print :rights:system.preferences:group' $AUTHFILE`
- #ARRAY_TO_CHECK+=`$PLISTBUDDY -c 'Print :rights:system.preferences.printing:group' $AUTHFILE`
- #ARRAY_TO_CHECK+=`$PLISTBUDDY -c 'Print :rights:system.preferences.timemachine:group' $AUTHFILE`
- #for value in ${ARRAY_TO_CHECK[*]} ; do
- # if [ ! $value = "allow" ] ; then
- # exit 0
- # fi
- #done
Advertisement
Add Comment
Please, Sign In to add comment