ksadmin and GoogleSoftwareUpdateAgent

drioux
Contributor

As a managed high school environment we have been having the problem with the students getting repeated errors about ksadmin and GoogleSoftwareUpdateAgent not being allowed to run because of our set restrictions.

The problem as we've found it is that Google's update software runs out of the ~/Library/Google/GoogleSoftwareUpdate folder. The actual problem files are multiple levels down within their software bundle. If you delete things at a high enough level (i.e. the ~/Library/Google folder, the ~/Library/Google/GoogleSoftwareUpdate folder, the bundle itself etc.) the Google product will just recreate the missing files.

Once we drill down far enough though and just target the individual app and executable, the software can't detect the missing files and the problem is eliminated. However, any updates will restore the missing files so the scripts need to be run regularly. We do it once a week, and have it in Self Service for the users. Good luck!

The files that need to be removed are:
~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin
and
~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app

Here are the two scripts we are using to remove them. The complaints have gone way down since setting up this policy

#!/bin/bash

for user in $( dscl . list /Users UniqueID | awk '$2 > 500 {print $1}' ); do
     # Get user home dir path
     userHome=$( dscl . read /Users/$user NFSHomeDirectory | awk '{print $NF}' )
     rm -rf "$userHome/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin" 2> /dev/null
done
#!/bin/bash

for user in $( dscl . list /Users UniqueID | awk '$2 > 500 {print $1}' ); do
     # Get user home dir path
     userHome=$( dscl . read /Users/$user NFSHomeDirectory | awk '{print $NF}' )
     rm -rf "$userHome/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app" 2> /dev/null
done
0 REPLIES 0