Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # This script works well for removing local accounts that are older than 1 day.
- # Obviously the 1 day time frame can be modified (-mtime +1).
- # Credit to http://groups.google.com/group/macenterprise/browse_thread/thread/e6ca6a75ef1bf40e/2e19da23e6cb2b27?lnk=gst&q=delete+accounts#2e19da23e6cb2b27
- # Runs using Launch Daemon - /Library/LaunchDaemons/edu.org.deleteaccounts.plist
- # version .7
- DATE=`date "+%Y-%m-%d %H:%M:%S"`
- # Don't delete local accounts
- keep1="/Users/admin_account_1"
- keep2="/Users/admin_account_2"
- keep3="/Users/Shared"
- currentuser=`ls -l /dev/console | cut -d " " -f 4`
- keep4=/Users/$currentuser
- USERLIST=`/usr/bin/find /Users -type d -maxdepth 1 -mindepth 1 -mtime +1`
- for a in $USERLIST ; do
- [[ "$a" == "$keep1" ]] && continue #skip admin_account_1
- [[ "$a" == "$keep2" ]] && continue #skip admin_account_2
- [[ "$a" == "$keep3" ]] && continue #skip shared
- [[ "$a" == "$keep4" ]] && continue #skip current user
- # Log results
- echo ${DATE} - "Deleting account and home directory for" $a >> "/Library/Logs/deleted user accounts.log"
- # Delete the account
- /usr/bin/dscl . -delete $a
- # Delete the home directory
- /bin/rm -rf $a
- done
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement