Contacts / People
Bacula Enterprise Microsoft 365 Plugin can protect M365 Contacts associated to users, but also organizational contacts that are common to a given tenant. It is possible to select what users to backup (user* parameters) and also the specific contact folders to include/exclude (files* parameters).
The information protected by this module is detailed below:
Users:
Contact Folders (Main contact folders and any others)
Contacts
Tenant
Organization contacts
Contact module includes the following features:
Incremental backup with delta function for user contacts
Delta function is applied to each Contact Folder
Organization contacts do not support incremental backup
Organization contacts are read-only in M365 Graph
Only local restore is supported
Organization contacts can be located in Microsoft 365 Admin Center > Users > Contacts:
Catalog structure for contacts is presented below:
User contacts are stored in:
/@m365/tenantname/users/usermail/contact/folderName/
Default folder name is ‘Contact’
Each element has the special extension ‘.con’
Organization contacts are stored in:
/@m365/tenantname/users/organization/contact/Contacts/
Each element has the special extension ‘.orgcon’
Backup parameters
The list below shows the specific backup parameters that can be set up in order to control the behavior of the contact module.
In order to select the contact module, the common service parameter must be or contain the value contact.
Entities that can include mailboxes are: users.
Option |
Required |
Default |
Values |
Example |
Description |
---|---|---|---|---|---|
contact_files |
No |
Strings representing existing contactFolders for the given users separated by ‘,’ |
Customers, Partners |
Backup only specified contactFolders belonging to the selected users |
|
contact_files_exclude |
No |
Strings representing existing contactFolders for the given users separated by ‘,’ |
Personal |
Exclude selected contactFolders belonging to the selected users |
|
contact_files_regex_include |
No |
Valid regex |
.*Company |
Backup matching contact folders. Please, only provide list parameters (files + files_exclude) or regex ones. But do not try to combine them. |
|
contact_files_regex_exclude |
No |
Valid regex |
.*Plan |
Exclude matching contact folders from the selection. Please, only provide list parameters (files + files_exclude) or regex ones. But do not try to combine them. If this is the only parameter found for selection, all elements will be included and this list will be excluded. |
|
contact_organization |
No |
No |
0, no, No, false, FALSE, false, off ; 1, yes, Yes, TRUE, true, on |
No |
Include Organizational contacts (common to all the people in the tenant). It is recommended to include organizational contacts only in a single backup, as part of the backup strategy, but not for every user. |
Note: In previous versions, instead of contact_files* parameters, it was possible to use files_* parameters. They are deprecated parameters now as we recommend to use module specific parameters in order to have better control and more possibilities inside a single fileset. However, jobs using files_* parameters will still work.
Restore
The list below shows the subset of restore parameters that can be used to control the behavior of contact module restore operations:
destination_user, destination_path, send_report, allow_duplicates, debug, foreign_container_generation
Use cases
The following restore scenarios are supported:
Restore user contacts to the original user or to a different user
Restore parameters implied: destination_user
Restore user contacts to the original contact folder group or to a different contact folder
Restore parameters implied: destination_path
Restore user contacts to local file system (general restore where parameter must be set to a path)
Particularities are the same as email module.
For more details about the behavior of each parameter, please check the general section of restore parameters.
Fileset examples
Backup all contacts of one user:
FileSet {
Name = fs-m365-contacts-adelev
Include {
Options { signature = MD5 }
Plugin = "m365: service=contact tenant=57uia43-d107-17a2-a2g2-aa53c10tdahc objectid=56ddf1h9-
eb5d-42nf-bac7-7b019fd284g5 user=adelev@baculaenterprise.onmicrosoft.com"
}
}
Backup all contacts from all users and include organization contacts:
FileSet {
Name = fs-m365-contacts-all
Include {
Options { signature = MD5 }
Plugin = "m365: service=contact tenant=57uia43-d107-17a2-a2g2-aa53c10tdahc objectid=56ddf1h9-
eb5d-42nf-bac7-7b019fd284g5 contact_organization=yes"
}
}