Scroll to navigation



calendarserver_manage_principalsCalendar Server principal management utility


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 ...]


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.


Displays usage information
Displays debugging information
--config FILE
Use the Calendar Server configuration specified in the given file. Defaults to /etc/caldavd/caldavd.plist.


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 all of the known principals types.
List all of the principals of the given type.
Search for principals whose name or email address contains the search string.
List the read proxies.
List the write proxies.
List all proxies.
Add the given principal as a read proxy.
Add the given principal as a write proxy.
Remove the given principal as a proxy.
Enable or disable automatic scheduling.
Get the automatic scheduling state.
The principal will auto-accept any invites from any member of the group (as long as there are no conflicts).
Get the currently assigned auto-accept group for the principal.
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.


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


The Calendar Server configuration file.



June 17, 2009 Debian