CALENDARSERVER_MANAGE_PRINCIPALS(8)

NAME
calendarserver_manage_principals - Calendar Server principal management utility

SYNOPSIS
calendarserver_manage_principals [--config file] [--verbose] [--read-property property] [--list-principal-types] [--list-principals type] [--search search-string] [--list-read-proxies] [--list-write-proxies] [--list-proxies] [--add-read-proxy principal] [--add-write-proxy principal] [--remove-proxy principal] [--set-auto-schedule-mode none|accept-always|decline-always|accept-if-free|decline-if-busy|automatic] [--get-auto-schedule-mode] [--set-auto-accept-group group] [--get-auto-accept-group] [--add locations|resources full-name [record-name] [GUID]] [--remove] principal [principal ...]

DESCRIPTION
calendarserver_manage_principals is a tool for accessing and manipulating information regarding principals on a Calendar Server. Principals represent any form of actor that can access the server, such as users, groups, locations and resources.

calendarserver_manage_principals should be run as a user with the same privileges as the Calendar Server itself, as it needs to read and write data that belongs to the server. calendarserver_manage_principals takes a list of principals as arguments and then performs the requested actions on each of the given principals.

A principal may be specified as the principal's GUID. Alternatively, it may be specified in the form recordType:shortName, where recordType is a directory record type (eg. users, groups, locations, resources) and shortName is the principal's short name.

Actions to perform are specified via the options below. Multiple actions may be given, and will be performed in the order given on each principal specified.

OPTIONS

-h, --help
    Displays usage information

-v, --verbose
    Displays debugging information

-f, --config FILE
    Use the Calendar Server configuration specified in the given file. Defaults to /etc/caldavd/caldavd.plist.

ACTIONS

--read-property property
    Read the given WebDAV property on the principal resource. property must be a fully qualified XML element name in the form {namespace}name, for example: {DAV:}displayname.

--list-principal-types
    List all of the known principals types.

--list-principals type
    List all of the principals of the given type.

--search search-string
    Search for principals whose name or email address contains the search string.

--list-read-proxies
    List the read proxies.

--list-write-proxies
    List the write proxies.

--list-proxies
    List all proxies.

--add-read-proxy principal
    Add the given principal as a read proxy.

--add-write-proxy principal
    Add the given principal as a write proxy.

--remove-proxy principal
    Remove the given principal as a proxy.

--set-auto-schedule true|false
    Enable or disable automatic scheduling.

--get-auto-schedule
    Get the automatic scheduling state.

--set-auto-accept-group group
    The principal will auto-accept any invites from any member of the group (as long as there are no conflicts).

--get-auto-accept-group
    Get the currently assigned auto-accept group for the principal.

--add locations|resources full-name [record-name] [GUID]
    Add a new location or resource. Record name and GUID are optional. If GUID is not specified, one will be generated. If record name is not specified, the record name will be set to the GUID.

EXAMPLES
Add Alice and Bob as read proxies for Joe and display the list of Joe's proxies:

    calendarserver_manage_principals --add-read-proxy users:alice --add-read-proxy users:bob --list-proxies users:joe

Add a group of room admins as write proxy for a couple of rooms:

    calendarserver_manage_principals --add-write-proxy groups:room-admins locations:bigroom locations:littleroom

Turn on auto-scheduling for a resource, and confirm the setting:

    calendarserver_manage_principals --set-auto-schedule true --get-auto-schedule resources:projector

Search for all principals named Joe:

    calendarserver_manage_principals --search joe

Add a location:

    calendarserver_manage_principals --add locations 'Example Office' office1

Add a resource:

    calendarserver_manage_principals --add resources 'Example Projector' proj1

List all resource:

    calendarserver_manage_principals --list-principals resources

Remove a resource:

    calendarserver_manage_principals --remove resources:proj1

FILES

/etc/caldavd/caldavd.plist
    The Calendar Server configuration file.

SEE ALSO
caldavd(8)