# Deep Freeze Mac Utilities

## Deep Freeze Mac Command Line (APFS)

The Deep Freeze Mac Command Line gives network administrators increased flexibility in managing Deep Freeze Mac computers. These commands can be run with several different third-party enterprise management tools, such as Apple Remote Desktop, and/or central management solutions; this includes executing commands in Terminal while connected to a remote computer via SSH.

Deep Freeze Mac has the following command line options.

Usage: `deepfreeze <command> <verb> argument [option]`

{% hint style="info" %}
Specify the Deep Freeze Mac Command Line Utility full path `/usr/local/bin/deepfreeze` when executing the command using third-party management tools.
{% endhint %}

{% hint style="info" %}
If Deep Freeze password is enabled, Deep Freeze password can be passed as an environment variable by specifying "--env".

Usage:

`DFXPSWD=password /usr/local/bin/deepfreeze <command> <verb> argument [option] --env`&#x20;
{% endhint %}

| Command                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Description                                                                                                                                                                                                                         |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `deepfreeze version`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Displays the Deep Freeze Mac version.                                                                                                                                                                                               |
| `deepfreeze status`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Displays the current status of Deep Freeze Mac.                                                                                                                                                                                     |
| <p><code>deepfreeze freeze --volume VolumeName | --startup | --computer</code></p><p><code>deepfreeze thaw --volume VolumeName | --startup | --computer</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | <p>--volume – Freeze or thaw a specific volume</p><p>--startup – Freeze or thaw the startup volume</p><p>--computer – Change Global state</p><p>Volumes will be set to Frozen or Thawed depending on the status of Deep Freeze.</p> |
| `deepfreeze license [--info]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | <p>[--info] shows detailed information of the license</p><p>This command displays the full license key if run with root privilege or if Deep Freeze password is enabled.</p>                                                        |
| <p><code>deepfreeze password enable</code></p><p><code>deepfreeze password disable</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Enable or disable Deep Freeze password.                                                                                                                                                                                             |
| <p><code>deepfreeze password add --description Description</code></p><p><code>deepfreeze password edit --description Description [--newdescription newDescription]</code></p><p><code>deepfreeze password delete --description Description</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Add, edit or delete Deep Freeze password.                                                                                                                                                                                           |
| <p><code>deepfreeze hideicon frozen [--on | --off]</code></p><p><code>deepfreeze hideicon thaw [--on | --off]</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Show or hide the Deep Freeze Frozen icon in the menu bar.                                                                                                                                                                           |
| `deepfreeze restartinstead [--on \| --off]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Restart the computer after user logs out, or the last user logs out if fast user switching is enabled.                                                                                                                              |
| `deepfreeze ardinfo [--set N \| --clear]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Set or clear ARD info field.                                                                                                                                                                                                        |
| <p><code>deepfreeze schedule add --name "ScheduleName" [--enable on|off] --day monday[,tuesday,wednesday,thursday,friday,saturday,sunday] --begin "24-hr-time" --end "24-hr-time" [--onceonly on|off] [--installappleupdate on|off] [--lockuser on|off] [--warnuser off|"5-999"] [--message "message string"] [--shutdownafter on|off] [--runscript off|"script file name"]</code></p><p> </p><p><code>deepfreeze schedule edit --name "ScheduleName" [--enable on|off] [--day monday[,tuesday,wednesday,thursday,friday,saturday,sunday]] [--begin "24-hr-time"] [--end "24-hr-time"] [--onceonly on|off] [--installappleupdate on|off] [--lockuser on|off] [--warnuser off|"5-999"] [--message "message string"] [--shutdownafter on|off] [--runscript off|"script file name"]</code></p><p> </p><p><code>deepfreeze schedule delete --all | --name "ScheduleName"</code></p><p> </p><p><code>deepfreeze schedule enable --name "ScheduleName"</code></p><p> </p><p><code>deepfreeze schedule disable --name "ScheduleName"</code></p> | Add, edit, remove, enable or disable Maintenance schedules.                                                                                                                                                                         |
| <p><code>deepfreeze schedule scripts --add "ScriptFullpath"</code></p><p><code>deepfreeze schedule scripts --delete "ScriptName"</code></p><p><code>deepfreeze schedule scripts --list</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | <p>Add, delete or list scripts.</p><p>This command requires root privilege, even when Deep Freeze password is enabled.</p>                                                                                                          |

### Deep Freeze Tasks for ARD

Select this utility to install Deep Freeze tasks to manage Deep Freeze remotely via ARD.

Complete the following steps after downloading the utility.

1. Double-click _Deep Freeze Tasks for ARD_.
2. Select the tasks to install.
3. Click _Continue_.
4. If _Deep Freeze tasks for APFS_ is selected, you have the option to use Deep Freeze password if Deep Freeze password is enabled on the console. Select _Use Deep Freeze Password_ and enter the password. If _Deep Freeze tasks for HFS+_ is selected, specify Deep Freeze user name and password.
5. Click _Continue_.

{% hint style="info" %}
If you are using Apple Remote Desktop 3.7 or later, you must restart the computer to finalize installing Deep Freeze Tasks. You will be presented with an option to restart the computer at the end of installation. Click _Restart_ to restart the computer and finalize the installation.
{% endhint %}

In ARD, the Deep Freeze-specific tasks are saved in the _Deep Freeze (APFS)_ and _Deep Freeze (HFS+)_ folder.

The following tasks are available for Deep Freeze (APFS):

| Task                                   | Description                                                                                                                       |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `DeepFreeze (APFS):addPassword`        | Add Deep Freeze password.                                                                                                         |
| `DeepFreeze (APFS):addSchedule`        | Add a Maintenance schedule.                                                                                                       |
| `DeepFreeze (APFS):addScript`          | Add scripts.                                                                                                                      |
| `DeepFreeze (APFS):clearArdInfo`       | Clear the ARD Info Field                                                                                                          |
| `DeepFreeze (APFS):deleteAllSchedules` | Delete all Maintenance schedules.                                                                                                 |
| `DeepFreeze (APFS):deletePassword`     | Delete Deep Freeze password.                                                                                                      |
| `DeepFreeze (APFS):deleteSchedule`     | Delete a Maintenance schedule.                                                                                                    |
| `DeepFreeze (APFS):deleteScript`       | Delete one scripts at a time.                                                                                                     |
| `DeepFreeze (APFS):disablePassword`    | Disable Deep Freeze password.                                                                                                     |
| `DeepFreeze (APFS):disableSchedule`    | Disable a Maintenance schedule.                                                                                                   |
| `DeepFreeze (APFS):editPassword`       | Edit Deep Freeze password.                                                                                                        |
| `DeepFreeze (APFS):editSchedule`       | Edit a Maintenance schedule.                                                                                                      |
| `DeepFreeze (APFS):enablePassword`     | Enable Deep Freeze password.                                                                                                      |
| `DeepFreeze (APFS):enableSchedule`     | Enable a Maintenance schedule.                                                                                                    |
| `DeepFreeze (APFS):freezeComputer`     | Change Global state to Frozen.                                                                                                    |
| `DeepFreeze (APFS):freezeStartup`      | Freeze the startup volume.                                                                                                        |
| `DeepFreeze (APFS):freezeVolume`       | Freeze a specific volume.                                                                                                         |
| `DeepFreeze (APFS):hideFrozenIcon`     | Show or hide the Deep Freeze Frozen icon in the menu bar.                                                                         |
| `DeepFreeze (APFS):hideThawedIcon`     | Show or hide the Deep Freeze Thawed icon in the menu bar.                                                                         |
| `DeepFreeze (APFS):licenseInfo`        | Displays the License information.                                                                                                 |
| `DeepFreeze (APFS):listScripts`        | List all the script files.                                                                                                        |
| `DeepFreeze (APFS):restartInstead`     | Restart the computer when the user logs out (if fast user switching is enabled, restart the computer when the last user logs out) |
| `DeepFreeze (APFS):setArdInfo`         | Set the specific ARD Info Field to show Deep Freeze status.                                                                       |
| `DeepFreeze (APFS):status`             | Displays the current status of Deep Freeze Mac.                                                                                   |
| `DeepFreeze (APFS):thawComputer`       | Change Global state to Thawed.                                                                                                    |
| `DeepFreeze (APFS):thawStartup`        | Thaw the startup volume.                                                                                                          |
| `DeepFreeze (APFS):thawVolume`         | Thaw a specific volume.                                                                                                           |
| `DeepFreeze (APFS):version`            | Displays the Deep Freeze Mac version.                                                                                             |

The following commands and arguments are available for Deep Freeze (HFS+)

{% hint style="info" %}
If Deep Freeze is to be upgraded from the previous installation on the target computer, the existing Deep Freeze Administrator user name and password must be entered during this step. A new Deep Freeze Administrator cannot be created during this step if a Deep Freeze Administrator already exists.
{% endhint %}

{% hint style="info" %}
Each task can be configured in Deep Freeze, except for _requestStatus_.
{% endhint %}

<table data-full-width="false"><thead><tr><th>Command</th><th>Argument</th><th>Description</th></tr></thead><tbody><tr><td><code>activateSchedule</code></td><td>Schedule name</td><td>Activates the scheduled updates on target computer(s); name of the schedule must be included in the command as a parameter.</td></tr><tr><td><code>addSchedule</code></td><td>schedule_name [-a "on"|"off"] [-d monday[,tuesday,wednesday,thursday,friday,saturday,sunday]] [-b "24-hr-time"] [-e "24-hr-time"] [-o "on"|"off"] [-i "on"|"off"] [-l "on"|"off"] [-w "off"|5-999] [-m "message string"] [-s "on"|"off"] [-r "off" | "script name"]</td><td><p>Adds a schedule.</p><p>24-hr-time is in the form of HH:MM.</p><p>Multiple days is only for repeating schedules.</p><p>When specifying multiple schedules, there should be no space between the days specified.</p></td></tr><tr><td><code>addUser</code></td><td>New user name</td><td>Adds user to list.</td></tr><tr><td><code>badgeFrozenPartitions</code></td><td>on|off</td><td>Shows/Hides Deep Freeze icon on Frozen partitions.</td></tr><tr><td><code>bootFrozen</code></td><td> </td><td>Sets target computer(s) to restart in a Frozen state.</td></tr><tr><td><code>bootThawed</code></td><td> </td><td>Sets target computer(s) to restart in a Thawed state.</td></tr><tr><td><code>bootThawedFor</code></td><td>Times</td><td>Sets target computer(s) to restart in a Thawed state for the next x restarts; this number can be customized in the Times argument.</td></tr><tr><td><code>deactivateSchedule</code></td><td>Schedule name</td><td>Deactivates the scheduled updates on target computer(s); name of the schedule must be included in the command as an argument.</td></tr><tr><td><code>deleteAllScripts</code></td><td> </td><td>Deletes all scripts.</td></tr><tr><td><code>deleteScript</code></td><td>Script Name</td><td>Deletes a specific script.</td></tr><tr><td><code>deleteUser</code></td><td>User name</td><td>Deletes user from list.</td></tr><tr><td><code>editSchedule</code></td><td>schedule_name [--newname "new_schedule_name "] [--activate "on"|"off"] [--day monday[,tuesday,wednesday,thursday,friday,saturday,sunday]] [--begin "24-hr-time"] [--end "24-hr-time"] [--onceonly "on"|"off"] [--installappleupdate "on"|"off"] [--lockuser "on"|"off"] [--warnuser "off"|5-999] [--message "message string"] [--shutdownafter "on"|"off"] [--runscript "off"|"script name"]</td><td>Edits a schedule.</td></tr><tr><td><code>editUser</code></td><td>User name</td><td>Allows administrators to edit the name and password of a user.</td></tr><tr><td><code>freezePartition</code></td><td>Partition name</td><td>Designates a partition on target computer(s) to be Frozen.</td></tr><tr><td><code>getARDInfoField</code></td><td> </td><td>Specifies which Apple Remote Desktop’s information field is used to display the computer status.</td></tr><tr><td><code>getLicenseInfo</code></td><td> </td><td>Displays the License information.</td></tr><tr><td><code>help</code></td><td> </td><td>This will print all the options and parameters available in the "deepfreeze" command line tool.</td></tr><tr><td><code>mapAllUsers</code></td><td><p>(Argument 1)</p><p>admin|standard|mobile</p><p>(Argument 2)</p><p>Partition name|</p><p>userthawspace</p></td><td>Maps all users to a specified ThawSpace: name of user type and location of ThawSpace must be included as a parameter; e.g. admin Panther maps all admin users to the partition named Panther.**</td></tr><tr><td><code>rebootInsteadOfLogoff</code></td><td>on|off</td><td>Restarts target computer(s) instead of logging off when the on argument is used. This feature is turned off when the off argument is used.</td></tr><tr><td><code>removeAllSchedules</code></td><td> </td><td>Removes all schedules.</td></tr><tr><td><code>removeAllThawSpace</code></td><td> </td><td>Removes all ThawSpaces present.</td></tr><tr><td><code>removeSchedule</code></td><td>schedule_name</td><td>Removes a schedule.</td></tr><tr><td><code>removeThawSpace</code></td><td>userthawspace_name |global</td><td>Removes a single ThawSpace***</td></tr><tr><td><code>resizeThawSpace</code></td><td>"global" | userthawspace_name nnnn</td><td><p>Resizes a ThawSpace.</p><p>global is entered as it is, representing global ThawSpace.</p><p>nnnn is the new size in MB.</p></td></tr><tr><td><code>setARDInfoField</code></td><td>ARD Info Field</td><td>This parameter is used to specify which Remote Desktop’s Information Field is used to display the computer status. The parameter value is 0 to 4, 0 is to unset the Information Field.</td></tr><tr><td><code>showFrozenIcon</code></td><td>on|off</td><td>Configures target computer(s) to show/hide the Deep Freeze Frozen icon in the menu bar.</td></tr><tr><td><code>showThawedIcon</code></td><td>on|off</td><td>Configures target computer(s) to show/hide the Deep Freeze Thawed icon in the menu bar.</td></tr><tr><td><code>status</code></td><td>[-x]</td><td>Requests target computer(s) to display the status of various Deep Freeze settings. x specifies that the result is in XML format.</td></tr><tr><td><code>thawPartition</code></td><td>Partition name</td><td>Designates a partition on target computer(s) to be Thawed.</td></tr><tr><td><code>uninstall</code></td><td>[keepThawSpace]</td><td><p>Uninstalls Deep Freeze from target computer(s). The target computer(s) must be restarted in the Boot Thawed state before the uninstall task can be run.</p><p>[keepThawSpace] uninstalls Deep Freeze from target computer(s) but retains ThawSpace.</p></td></tr><tr><td><code>version</code></td><td>[-x]</td><td>Displays Deep Freeze version number. x specifies that the result is in XML format.</td></tr></tbody></table>

&#x20;\* = This only occurs during the first Deep Freeze installation using the settings provided by the custom installer created by Deep Freeze Assistant.

\*\*= The mapAllUsers command also includes the parameters: "admin", "standard", "mobile", "userthawspace" and, partition name such as "Macintosh HD" or "Panther".

\*\*\*= The single ThawSpace "name" must be specified as well as "global" for a Global ThawSpace.

#### Adding a script file via Apple Remote Desktop

Complete the following steps to add a script file via Apple Remote Desktop:

1. Select the target computer(s) from the computer list.
2. From the menu, select Manage > Copy Items…
3. Add the script files to the _Items to copy_ list.
4. In the _Place items in:_, select _Specify full path…_ and enter _/Library/Application Support/Faronics/Deep Freeze/Scripts_. Click _OK_.
5. In the _Set ownership to:_, select _Inherit from destination folder_.
6. Other settings can be set as required.
7. Click _Copy_.

#### Adding Targeted Computers to the Task List

In order to run a task, there must be computers targeted to run the task. To add one or more computers to be targeted to run the task, complete the following steps:

1. In the left column, double-click the task to be targeted to the specified computers.
2. The _Task Edit_ window appears. At the bottom of the window is a dialog listing the designated computers assigned to the task. Before a computer is added to the list, it reads _No Computers_.
3. Drag and drop the preferred computer or group of computers into the dialog from the computers in the _All Computers_ list. The number of computers assigned to a specific task appears at the bottom of the window.
4. Click _Save_.

