Best methods to search for the existence of a file

New Contributor

Good morning,

I am wondering if anyone has any tried and true method for searching for the existence of a file on a specified scope of machines? We are being asked to look for a specific file that would determine if a certain add-on pack is installed for Virtualbox. Any tried and true methods for running a process on a specific list of machines and determining if a file exists?




Valued Contributor

You can try "Files and Process" payload of policies.

Screenshot 2022-11-08 at 7.00.46 PM.png

I want to make a Smart Group based on if a file is found on a device, but how do I use a policy that searches all computers for a file to do that? It seems the only results produced are in the Log -> details of the policy.

New Contributor III

I would probably make an extension attribute and use the builtin "find" command to test for the presence of that file and then any other tests you would want to do. 

find Man Page - macOS -

Esteemed Contributor II

Have you tried an EA?


if [ -f /path/to/file ]
	echo "<result>Exists</result>"
	echo "<result>DoesNotExist</result>"

@bravestface ditto what @donmontalvo  is saying, then create a smart group based on the criteria derived from the extension attribute.

I have tried this script to find if Install macOS is in the Applications folder, but for the life of me I can't get it to work. I have tried " and \ but nothing. 

I tried it using a testfile.rtf placed in applications and that worked fine. Why won't it work with a macOS installer .app file?

New Contributor III

I used the following with a Smart Group. If you're in higher ed, it's probably student machines.



LicenseFilePath="/Applications/ Extension_Pack/ExtPack-license.html"

if [[ -e "${LicenseFilePath}" ]]; then
    EA_RESULT="Not installed"

echo "<result>${EA_RESULT}</result>"


Thank you for all the great ideas. I'll reach back out if I have additional questions!