Setting Watchman Monitoring Preferences from the Command Line is an efficient method when using deployment scripts and Apple Remote Desktop.
Notes on Editing Preferences from the Command Line
Editing Watchman Monitoring Preferences from the command line will cause the files to become unreadable by the logged-in user.
This will not cause a problem with normal reporting, however it does have an undesired cosmetic side effect when viewing the PreferencePane (ie during testing of the results).
The normal hourly run of the agent will correct the permissions, and also converts the binary formatted files to the preferred xml format.
You can force a report (and plist updating) via this command:
sudo /Library/MonitoringClient/RunClient -F
Then, re-open System Preferences to verify your changes.
All commands must be sent as root. Preface the command with sudo in an account with administrative rights.
The following are a few common command line operations. See Discovering Plugin Settings for information on finding specific plugin settings.
Force the Monitoring Client to report now:
sudo /Library/MonitoringClient/RunClient -F
Force the Monitoring Client to check for software updates:
sudo /Library/MonitoringClient/RunUpdater -F
sudo defaults write /Library/MonitoringClient/ClientSettings Update_Enabled -bool false
Adjust Reporting Interval
Adjust the time interval between one (1) and six (6) hours that the client reports its status.
Replace the 1 below with a number less than or equal to 6.
sudo defaults write /Library/MonitoringClient/ClientSettings RunClient_Interval -int 1
Remove the Monitoring Client from the computer:
sudo /Library/MonitoringClient/RunClient -F --remove
The -F is case sensitive.
Remove the Monitoring Client without Email Notification:
sudo /Library/MonitoringClient/RunClient -FQ --remove
When the -Q flag is sent, no email notification will be sent to the subscriber. The Dashboard will report the related Computer Record as "Missing" for failure to report as expected.
Change the Group:
sudo defaults write /Library/MonitoringClient/ClientSettings ClientGroup -string "GROUP_NAME"
Replace GROUP_NAME with the desired Group name.
Disable a Plugin:
sudo defaults write /Library/MonitoringClient/ClientSettings PluginsDisabled -array-add "check_[service-to-ignore].plugin"
Locate the actual plugin name in /Library/MonitoringClient/Plugins
As an example, to disable time machine (a common request):
sudo defaults write /Library/MonitoringClient/ClientSettings PluginsDisabled -array-add "check_time_machine.plugin"
Disable a plugin for a user:
sudo /usr/libexec/PlistBuddy -c "Set :Users_To_Monitor:administrator bool false /Library/MonitoringClient/PluginSupport/check_daylite_client_settings.plist"
This command would stop reporting for the user "administrator' for the Daylite Client plugin.
Enable a Plugin:
The most efficient method is to use a tool like TextWrangler or BBEdit to manually remove the check_[service-to-ignore].plugin from the PluginsDisabled array in the /Library/MonitoringClient/ClientSettings.plist
Change the Time Machine warning threshold:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_time_machine_settings Days_Until_Warning -int 10
You can set Days_Until_Warning (Currently 10) with a number from 1-99.
Toggle Time Machine monitoring Off/On:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_time_machine_settings Warning_Enabled -bool false
false = off, true = on
Enable Time Machine to Schedule Automatic Daily Backups:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_time_machine_settings Days_Until_Manual_Run -int 1
If enabling a daily backup, be sure to disable Time Machine with:
sudo tmutil disable
Set to 0 (zero) to disable, or the number of days between triggering. See Enable Time Machine to Schedule Automatic Daily Backups for additional details.
Adjust Root Volume Capacity Warning:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_root_capacity_settings Root_Warn_Level -int 90
Default is 90% (90)
Enable reboot notifications:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_reboot_time_settings Warn_On_Reboot -bool true
Disable reboot notifications:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_reboot_time_settings Warn_On_Reboot -bool false
Reduce Daylight Client Warning Days:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_daylite_client_settings.plist Warning_Days -int 3
You can set Warning_Days (3 in this example) with a number from 1-99.
Report Internal IP Address
Send IP Addresses for All Interfaces:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_internal_ip_settings Only_Report_Primary -bool false
Generate a warning when primary IP address changes:
sudo defaults write /Library/MonitoringClient/PluginSupport/check_internal_ip_settings Warn_On_Change -bool true
Check Specified Applications
sudo defaults write /Library/MonitoringClient/PluginSupport/check_specified_applications_settings.plist Specified_Applications -array-add "/Applications/APPLICATION.app"
defaults does not allow for modification or removal of array items. The
check_specified_applications_settings.plist will need to be edited manually, or use the Preference Pane to modify/remove a monitored application.