[Casper] Search and destroy apps
Miles Leacy
miles.leacy at themacadmin.com
Mon Jan 12 10:17:09 PST 2009
I left out a command in the script in my first message. Here is the
complete script:
#!/bin/bash
##### HEADER BEGINS #####
# scr_maint_searchDestroyAppsInHomeFolder.bash
#
# Created 20090112 by Miles A. Leacy IV
# miles.leacy at themacadmin.com
# Modified 20090112 by Miles A. Leacy IV
# Copyright 2009 Miles A. Leacy IV
#
# This script may be copied and distributed freely as long as this header
remains intact.
#
# This script is provided "as is". The author offers no warranty or
guarantee of any kind.
# Use of this script is at your own risk. The author takes no
responsibility for loss of use,
# loss of data, loss of job, loss of socks, the onset of armageddon, or any
other negative effects.
#
# Test thoroughly in a lab environment before use on production systems.
# When you think it's ok, test again. When you're certain it's ok, test
twice more.
#
# This script performs a search & destroy on any apps in the user's home
folder
# This script deletes user data. Be sure of your organization's policies as
they may apply before using.
#
# Again, THIS SCRIPT DELETES USER DATA. Make sure you understand what data
will be deleted and that it is
# permissible to delete that data before using this script.
#
# It is intended to be run as part of a Casper policy triggered by login.
#
# Note: This script can take several minutes to run on very large home
folders.
# It took 5 minutes and 31 seconds on a 146.77 GB home folder on a Mac Pro
in testing.
#
##### HEADER ENDS #####
# Set $isapp to indicate whether an item is an application
# initial value is 0
# a value of 0 = not an application
# a value of 1 = an application
isapp=0
# return the absolute path of each item in the specified directory and act
upon them in the "do" loop.
find /Users/$3 | while read file
do
# skip the contents of .app bundles
[[ "$file" = *.app/* ]] && continue
# determine whether $file is an application and change value of $isapp if it
is
isapp=`mdls -name kMDItemKind "$file"|grep -c Application`
# if $file is an application ($isapp contains any nonzero value), act upon
it.
if [ $isapp -ne 0 ];
then echo "Deleting" "$file"; rm -R "$file"
fi
# reset $isapp
isapp=0
done
----------
Miles A. Leacy IV
Certified System Administrator 10.4
Certified Technical Coordinator 10.5
Certified Trainer
Certified Casper Administrator
----------
voice: 1-347-277-7321
miles.leacy at themacadmin.com
www.themacadmin.com
On Mon, Jan 12, 2009 at 12:26 PM, Miles Leacy
<miles.leacy at themacadmin.com>wrote:
> Hi all,
> I have another script to share. In more than one environment I've worked
> with, users were not allowed to store or run apps in/from their home
> folders. Policies were made clear that any apps in one's home folder were
> considered a policy violation, and subject to automatic deletion. I put
> together the following script to make sure I never had to go hunt for
> someone's hidden apps again.
>
> #!/bin/bash
>
> ##### HEADER BEGINS #####
> # scr_maint_searchDestroyAppsInHomeFolder.bash
> #
> # Created 20080729 by Miles A. Leacy IV
> # miles.leacy at themacadmin.com
> # Modified 20090112 by Miles A. Leacy IV
> # Copyright 2009 Miles A. Leacy IV
> #
> # This script may be copied and distributed freely as long as this header
> remains intact.
> #
> # This script is provided "as is". The author offers no warranty or
> guarantee of any kind.
> # Use of this script is at your own risk. The author takes no
> responsibility for loss of use,
> # loss of data, loss of job, loss of socks, the onset of armageddon, or any
> other negative effects.
> #
> # Test thoroughly in a lab environment before use on production systems.
> # When you think it's ok, test again. When you're certain it's ok, test
> twice more.
> #
> # This script performs a search & destroy on any apps in the user's home
> folder
> # This script deletes user data. Be sure of your organization's policies
> as they may apply before using.
> #
> # Again, THIS SCRIPT DELETES USER DATA. Make sure you understand what data
> will be deleted and that it is
> # permissible to delete that data before using this script.
> #
> # It is intended to be run as part of a Casper policy triggered by login.
> #
> # Note: This script can take several minutes to run on very large home
> folders.
> # It took 5 minutes and 31 seconds on a 146.77 GB home folder on a Mac Pro
> in testing.
> #
> ##### HEADER ENDS #####
>
> # Set $isapp to indicate whether an item is an application
> # initial value is 0
> # a value of 0 = not an application
> # a value of 1 = an application
> isapp=0
>
> # return the absolute path of each item in the specified directory and act
> upon them in the "do" loop.
> find /Users/$3 | while read file
> do
>
> # skip the contents of .app bundles
> [[ "$file" = *.app/* ]] && continue
>
> # determine whether $file is an application and change value of $isapp if
> it is
> isapp=`mdls -name kMDItemKind "$file"|grep -c Application`
>
> # if $file is an application ($isapp contains any nonzero value), act upon
> it.
> if [ $isapp -ne 0 ];
> then echo "Deleting" "$file";
> fi
>
> # reset $isapp
> isapp=0
>
> done
>
> ----------
> Miles A. Leacy IV
>
> Certified System Administrator 10.4
> Certified Technical Coordinator 10.5
> Certified Trainer
> Certified Casper Administrator
> ----------
> voice: 1-347-277-7321
> miles.leacy at themacadmin.com
> www.themacadmin.com
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.jamfsoftware.com/pipermail/casper/attachments/20090112/f6988007/attachment.htm
More information about the Casper
mailing list