Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # This script works well for removing local accounts that are older than 1 day.
  4. # Obviously the 1 day time frame can be modified (-mtime +1).
  5.  
  6. # Credit to http://groups.google.com/group/macenterprise/browse_thread/thread/e6ca6a75ef1bf40e/2e19da23e6cb2b27?lnk=gst&q=delete+accounts#2e19da23e6cb2b27
  7.  
  8. # Runs using Launch Daemon - /Library/LaunchDaemons/edu.org.deleteaccounts.plist
  9. # version .7
  10.  
  11. DATE=`date "+%Y-%m-%d %H:%M:%S"`
  12.  
  13. # Don't delete local accounts
  14. keep1="/Users/admin_account_1"
  15. keep2="/Users/admin_account_2"
  16. keep3="/Users/Shared"
  17. currentuser=`ls -l /dev/console | cut -d " " -f 4`
  18. keep4=/Users/$currentuser
  19.  
  20. USERLIST=`/usr/bin/find /Users -type d -maxdepth 1 -mindepth 1 -mtime +1`
  21.  
  22. for a in $USERLIST ; do
  23. [[ "$a" == "$keep1" ]] && continue #skip admin_account_1
  24. [[ "$a" == "$keep2" ]] && continue #skip admin_account_2
  25. [[ "$a" == "$keep3" ]] && continue #skip shared
  26. [[ "$a" == "$keep4" ]] && continue #skip current user
  27.  
  28. # Log results
  29. echo ${DATE} - "Deleting account and home directory for" $a >> "/Library/Logs/deleted user accounts.log"
  30.  
  31. # Delete the account
  32. /usr/bin/dscl . -delete $a
  33.  
  34. # Delete the home directory
  35. /bin/rm -rf $a
  36.  
  37. done
  38. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement