Enabling or disabling all Jamf Pro policies using the API

Every so often, it may be useful to be able to enable or disable all of your current Jamf Pro policies. In those cases, depending on how many policies you have, it can be tedious to have to do them one at a time using the admin console.

However, with the right API calls in a script, it’s straightforward to perform these tasks using the Jamf Pro API. For more information, please see below the jump.

To disable a Jamf Pro policy, you can use curl to send an API call similar to the one shown below:

As an example, here’s how the API call would look if using the following information to disable a specified Jamf Pro policy:

To enable a Jamf Pro policy, you can use curl to send an API call similar to the one shown below:

If using the same information as the example above, here’s how the API call would look when enabling the specified Jamf Pro policy

Since running the API calls individually may get tedious, I’ve written a couple of scripts to assist with these tasks:

Jamf-Pro-Disable-All-Policies.sh

Jamf-Pro-Enable-All-Policies.sh

These scripts are designed to use the Jamf Pro API to do the following:

Identify the individual IDs of the computer policies stored on a Jamf Pro server

If running Jamf-Pro-Disable-All-Policies.sh, disable the policy using its policy ID

If running Jamf-Pro-Enable-All-Policies.sh, enable the policy using its policy ID

Display HTTP return code and API output

When the script is run, you should see output similar to that shown below. Because these scripts affect all policies on the Jamf Pro server, the scripts will ask you to confirm that you want to do this by typing the following when prompted:

YES

Any other input will cause the scripts to exit.

If the script is successful, you should see output like this for each policy. In this case, this is output from Jamf-Pro-Disable-All-Policies.sh:

The policy enabling and disabling scripts are available from following addresses on GitHub: