Syncs groups in a Microsoft 365 tenant.
Sync-M365Groups
[-ShowPrereqs]
[<CommonParameters>]
Sync-M365Groups
-ConfigNode <String>
-Csv <String>
[-TranslationCsv <String>]
[-IgnoreErrors]
[-SkipValidation]
[-ValidateOnly]
[<CommonParameters>]
Use the Sync-M365Groups cmdlet to sync groups
in a Microsoft 365 tenant.
See the Notes section for cmdlet requirements.
Sync-M365Groups -ConfigNode Target -Csv 'groups.csv' -ValidateOnly
This example validates all data for the groups in the groups.csv
file but does not perform the operation. This is a recommended first step so any
warnings can be addressed first.
Sync-M365Groups -ConfigNode Target -Csv 'groups.csv'
This example syncs all groups from the groups.csv file.
Sync-M365Groups -ConfigNode Target -Csv 'groups.csv' -TranslationCsv 'translations.csv'
This example syncs all groups from the groups.csv file.
Data is translated according to the mappings provided in the translations.csv
file.
The config.psd1 configuration node to use.
Type: String
Parameter Sets: Action
Aliases:
Accepted values: Source, Target
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
The path to a CSV file containing objects to sync. See the Notes section for the required format.
Type: String
Parameter Sets: Action
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Validation errors stop execution prior to the sync by default. Use
-IgnoreErrors to proceed with error records omitted.
Note that global errors are not impacted by this option.
Type: SwitchParameter
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Prints the cmdlet prerequisites.
Type: SwitchParameter
Parameter Sets: Help
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Skips the property validation stage of the sync. Data supplied via the
-Csv parameter will be used as-is, which may lead to runtime errors.
Type: SwitchParameter
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
The path to the CSV file containing translation mappings. The file must use
SourceName;TargetName as the field identifiers.
Type: String
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Validation and sync are both performed by default. Use -ValidateOnly to
perform the validation but skip the sync.
It is recommended to run a -ValidateOnly pass first to identify potential
issues prior to syncing data. Note that records with validation errors will
fail to sync unless -IgnoreErrors is used, but records with validation
warnings proceed without the data triggering the warning. A -ValidateOnly pass
allows you to inspect these warnings before data is written and make any
necessary changes.
Type: SwitchParameter
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Required config.psd1 keys
These configuration keys are scoped to the Source or Target node in config.psd1.
M365ClientId: The client ID of your tenant’s app.
M365ClientSecret: The client secret of your tenant’s app.
M365SharePointDomain: The name of your SharePoint domain. For example, source.
M365Tenant: The ID of your tenant. For example, source.org.
Optional config.psd1 keys
These configuration keys are scoped to the Source or Target node in config.psd1.
M365ClientCertificate: The path to the certificate file associated with your tenant’s app.
Default $env:ProgramData\Transend\tools\TMCTools.pfx
M365CloudEnvironment: The cloud environment for your tenant. Allowed values are Global, China (.cn),
Germany (.de) and USGovernment (.us).
Default: Global
Required PowerShell modules
ExchangeOnlineManagementPnP.PowerShellRequired APIs
Microsoft GraphOffice 365 Exchange OnlineSharePointRequired Microsoft Graph Application scopes
Calendars.ReadWriteDirectory.ReadWrite.AllSites.Manage.AllTeamSettings.ReadWrite.AllRequired Office 365 Exchange Online Application scopes
Exchange.ManageAsAppRequired SharePoint Application Scopes
Sites.FullControl.AllRequired CSV format
| Property | Required | Multi-value | Notes |
|---|---|---|---|
| InScope | True | False | Allowed values: Yes, True, No and False. |
| Identity | True | False | Allowed values: OID, UPN, email address, email alias, display name. |
| InternalOwnersToAdd | False | True | |
| InternalMembersToAdd | False | True | |
| ExternalMembersToAdd | False | True | Does not apply to Security and Unified groups. |
CSV fields should be separated by semicolons. For example,
InScope;Identity....
Multi-value fields should be separated by commas. For example,
value1,value2....