# FileWave Admin Command-Line Interface (CLI)

## What the FileWave Admin CLI can do

---

The FileWave Admin executable includes command-line options for automation on macOS and Windows. It can:

- Import folders, packages, exported Filesets, and images.
- Create, export, or remove Filesets.
- List Clients, Filesets, and Associations.
- Create or remove Associations.
- Update the FileWave model.

## Default executable locations

**macOS**

```
/Applications/FileWave/FileWave\ Admin.app/Contents/MacOS/FileWave\ Admin
```

**Windows — FileWave 15.4.2 and earlier**

```
"C:\Program Files (x86)\FileWave\FileWaveAdmin.exe"
```

**Windows — FileWave 15.5.0 and later**

```
"C:\Program Files\FileWave\admin\FileWaveAdmin.exe"
```

Running the executable without arguments opens the FileWave Central interface.

## Command options

Run the executable with `--help` to display the options supported by the installed version:

**macOS**

```shell
/Applications/FileWave/FileWave\ Admin.app/Contents/MacOS/FileWave\ Admin --help
```

**Windows (FW v15.4.2 or lower)**

```powershell
C:\Program Files (x86)\FileWave\FileWaveAdmin.exe --help
```

**Windows (FW v15.5.0 or higher)**

```
"C:\Program Files\FileWave\admin\FileWaveAdmin.exe" --help
```

The following output is an example. Treat the installed executable's `--help` output as authoritative:

```
FileWave Command Line Tool

Options:
  -h, --help                            Displays this help.
  -v, --version                         Displays version information.
  -u <user>                             The filewave admin username.
  -p <password>                         The filewave admin password.
  -H <host>                             The filewave server hostname.
  -P <port>                             The filewave server port number
                                        (defaults to 20016).
  -k                                    Allows connections to filewave server
                                        without checking certificate.
  --listClients                         Lists all the client client/clone/group
                                        information.
  --listFilesets                        Lists all the fileset information.
  --createFileset <name>                Creates a new empty fileset with the
                                        specified name.
  --importFolder <path>                 Imports a folder as a fileset (not as a
                                        package).
  --importPackage <path>                Imports a package (pkg, flat, mpkg or
                                        msi) as a fileset.
  --importFileset <path>                Imports a previously exported FileWave
                                        fileset or template.
  --exportFileset <path>                Exports the given fileset name/id to
                                        the specified path
  --setRevisionAsDefault                the imporing revision will be set as
                                        default.
  --addRequirementsScript <path>        Adds requirements script (only valid
                                        for --importFolder).
  --addPreflightScript <path>           Adds preflight script (only valid for
                                        --importFolder).
  --addActivationScript <path>          Adds activation script (only valid for
                                        --importFolder).
  --addPostflightScript <path>          Adds postflight script (only valid for
                                        --importFolder).
  --addVerificationScript <path>        Adds verification script (only valid
                                        for --importFolder).
  --addPreuninstallationScript <path>   Adds preuninstallation script (only
                                        valid for --importFolder).
  --addPostuninstallationScript <path>  Adds postuninstallation script (only
                                        valid for --importFolder).
  --importImage <path>                  Imports an image as a fileset.
  --deleteFileset <id>                  Deletes a fileset by ID/Name.
  --listAssociations                    Lists all the associations held in the
                                        system.
  --createAssociation                   Create an association between a
                                        client/clone/group ID/Name and a fileset
                                        ID/Name.  Use the --clientgroup and
                                        --fileset options.
  --deleteAssociation <id>              Deletes an association between a
                                        client/clone/group ID/Name and a fileset
                                        ID/Name.  Use the --clientgroup and
                                        --fileset options.
  --kiosk                               Make this a kiosk association.
  --software_update                     Make this a software update
                                        association.
  --licenseDistribution <model>         The license distribution model (only
                                        for associations to VPP filesets). Can
                                        be "user" or "device".
  --updateModel                         Updates the FileWave model (as long as
                                        no other admins have locked objects).
  --setProperty                         Sets a fileset property value, use the
                                        --fileset, --key and --value parameters
                                        to determine for which fileset this is
                                        done (Used solely by AutoPkg FileWave Importer)
  --delProperty                         Removes a fileset property value, use
                                        the --fileset and --key parameters (Used solely by AutoPkg FileWave Importer)
  --setCriticalFlag                     Sets the critical flag value for a
                                        fileset ; use the --fileset and --value
                                        (0/1) parameters
  --name <name>                         The name value which will be applied to
                                        any newly created object.
  --comment <comment>                   The comment value which will be applied
                                        to any newly created object.
  --filesetgroup <id>                   The ID/Name of the target fileset
                                        container, if not specified all objects
                                        are created in their respective root
                                        container.  If the Name of the container
                                        does not exist then its assumed to be a
                                        Fileset Container and will be created
                                        automatically.
  --fileset <id>                        The ID/Name value of a fileset object.
  --revision <name>                     The name of a revision object.
  --clientgroup <id>                    The ID/Name value of a client, clone or
                                        group object.
  --root <root>                         When importing, if you specify the root
                                        then all the data that was imported will
                                        be moved into this root folder.  The
                                        root folder will be created if required.
  --key <key>                           The key used in the --setProperty call.
  --value <value>                       The value which will be used in the
                                        --setProperty call.
  --listExitCodes                       Lists all exit codes and their
                                        description.
** You are seeing this because the -h option was used ** 
```

## Best practices

Use a dedicated FileWave administrator account with only the permissions the automation requires. The `-p` option can expose a password in scripts, shell history, or process listings, so protect the script and its execution environment. A CLI login can also end an interactive session that uses the same administrator account.

<p class="callout warning">The `-k` option disables FileWave Server certificate validation. Do not use it in production automation.</p>

<p class="callout warning">`--updateModel` applies model changes without a confirmation prompt. Confirm the intended changes and check for locked objects before running it.</p>

Use `--listExitCodes` to map the command's exit code to a FileWave error:

```
$ FileWave\ Admin --listExitCodes
    0: No Error
  100: Unknown Error
  101: The given fileset does not exist
  102: The given client does not exist
  103: The given group does not exist
  104: The given target is not a group
  105: Database internal error
  106: Error while uploading fileset
  107: Error while updating the model
  108: Login Error
  109: Error while importing a fileset
  110: Package Type not supported for import
  111: Command line parse failed
  112: Can't create association with an imaging fileset
```

## Examples

### Import a folder as a Fileset

```
$ FileWave\ Admin -u api -p <password> --importFolder /Applications/TextEdit.app --name "My New Application"
```

### Import a package

```
$ FileWave\ Admin -u api -p <password> --importPackage ~/Downloads/MyExamplePackage.pkg
```

### Import a revision into an existing Fileset

This example imports the package as a revision named `Revision2` in the existing Fileset whose ID is `537136`:

```
$ FileWave\ Admin -u api -p <password> --importPackage ~/Downloads/MyExamplePackage.pkg --fileset 537136 --revision Revision2
```

<p class="callout info">Add `--setRevisionAsDefault` when the imported revision should become the Fileset's default revision.</p>

## Language options

FileWave Central uses the workstation language when FileWave has a matching translation and defaults to English when it does not.

In FileWave 16.2.0 and later, set a persistent language in Central under **Admin Preferences &gt; General &gt; Local Settings**. In FileWave Anywhere, select the globe on the login page and choose **Browser Default Language** or another supported language.

Use `--lang <locale>` to override Central's language for a specific launch. Current locale codes are:

<table id="bkmrk-languagelocale-code-" style="width:100%;"><thead><tr><th>**Language**</th><th>**Locale code**</th></tr></thead><tbody><tr><td>Chinese (Simplified)</td><td>`zh_CN`</td></tr><tr><td>Chinese (Traditional)</td><td>`zh_TW`</td></tr><tr><td>Dutch</td><td>`nl_NL`</td></tr><tr><td>English (US)</td><td>`en_US`</td></tr><tr><td>Filipino (Tagalog)</td><td>`tl_TL`</td></tr><tr><td>French</td><td>`fr_FR`</td></tr><tr><td>German</td><td>`de_DE`</td></tr><tr><td>Japanese</td><td>`ja_JP`</td></tr><tr><td>Korean</td><td>`ko_KR`</td></tr><tr><td>Spanish (International)</td><td>`es_ES`</td></tr><tr><td>Swedish</td><td>`sv_SE`</td></tr><tr><td>Thai</td><td>`th_TH`</td></tr><tr><td>Turkish</td><td>`tr_TR`</td></tr></tbody></table>

<p class="callout info">See [What languages does FileWave support?](https://kb.filewave.com/books/filewave-general-info/page/what-languages-does-filewave-support) for the canonical language list. The platform-specific articles under Related content explain the persistent Central and Anywhere settings and the earlier command-line workflows.</p>

**Windows Korean example**

```
& 'C:\Program Files\FileWave\admin\FileWaveAdmin.exe' --lang ko_KR
```

**macOS German example**

```
/Applications/FileWave/FileWave\ Admin.app/Contents/MacOS/FileWave\ Admin --lang de_DE
```

![FileWave Central launched in German on macOS](https://kb.filewave.com/uploads/images/gallery/2023-06/xchKZ6UpuF3eQOjC-macosfwadmingerman.png)![FileWave Central launched in Korean on Windows](https://kb.filewave.com/uploads/images/gallery/2023-06/MERpbcoCpBg0qVUA-winfwadminkorean.png)

## Related content

- [What languages does FileWave support?](https://kb.filewave.com/books/filewave-general-info/page/what-languages-does-filewave-support)
- [Change the Language in FileWave Central or Anywhere (macOS)](https://kb.filewave.com/books/filewave-central-anywhere/page/change-the-language-in-filewave-central-or-anywhere-macos)
- [Opening FileWave Central / Anywhere in a Specific Language (Windows)](https://kb.filewave.com/books/filewave-central-anywhere/page/opening-filewave-central-anywhere-in-a-specific-language-windows)
- [FileWave AutoPkg on GitHub](https://github.com/autopkg/filewave)