Updates users in a Microsoft 365 tenant.
Update-M365Users
[-ShowPrereqs]
[<CommonParameters>]
Update-M365Users
-ConfigNode <String>
-Csv <String>
[-TranslationCsv <String>]
[-IgnoreErrors]
[-SkipValidation]
[-ValidateOnly]
[<CommonParameters>]
Use the Update-M365Users cmdlet to update users
in a Microsoft 365 tenant.
See the Notes section for cmdlet requirements.
Update-M365Users -ConfigNode Target -Csv 'users.csv' -ValidateOnly
This example validates all data for the users in the users.csv
file but does not perform the operation. This is a recommended first step so any
warnings can be addressed first.
Update-M365Users -ConfigNode Target -Csv 'users.csv'
This example updates all users from the users.csv file.
Update-M365Users -ConfigNode Target -Csv 'users.csv' -TranslationCsv 'translations.csv'
This example updates all users from the users.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 update. 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 update 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 update. 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 update are both performed by default. Use -ValidateOnly to
perform the validation but skip the update.
It is recommended to run a -ValidateOnly pass first to identify potential
issues prior to updating data. Note that records with validation errors will
fail to update 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. |
| LoginId | False | False | |
| EmailAddress | False | False | Does not apply to NonMailbox. |
| LicensesToAdd | False | True | Does not apply to NonMailbox. |
| EmailAliasesToAdd | False | True | Does not apply to NonMailbox. |
| EmailAliasesToRemove | False | True | Does not apply to NonMailbox. |
| MailboxForwardAndStoreAddressesToAdd | False | True | Cannot be used with MailboxForwardOnlyAddressesToAdd. Does not apply to NonMailbox. |
| MailboxForwardAndStoreAddressesToRemove | False | True | Must be the everything wildcard (*). Does not apply to NonMailbox. |
| MailboxForwardOnlyAddressesToAdd | False | True | Cannot be used with MailboxForwardAndStoreAddressesToAdd. Does not apply to NonMailbox. |
| MailboxForwardOnlyAddressesToRemove | False | True | Must be the everything wildcard (*). Does not apply to NonMailbox. |
| MailboxFullAccessDelegatesToAdd | False | True | Does not apply to NonMailbox. |
| MailboxSendAsDelegatesToAdd | False | True | Does not apply to NonMailbox. |
| MailboxOnBehalfOfDelegatesToAdd | False | True | Does not apply to NonMailbox. |
| CalendarActAsDelegatesToAdd | False | True | Automatically grants MailboxOnBehalfOfDelegatesToAdd. Does not apply to NonMailbox. |
| CalendarLimitedActAsDelegatesToAdd | False | True | Does not apply to NonMailbox. |
| CalendarEditorDelegatesToAdd | False | True | Does not apply to NonMailbox. |
| CalendarReviewerDelegatesToAdd | False | True | Does not apply to NonMailbox. |
| CalendarLimitedReviewerDelegatesToAdd | False | True | Does not apply to NonMailbox. |
| CalendarAvailabilityDelegatesToAdd | False | True | Does not apply to NonMailbox. |
CSV fields should be separated by semicolons. For example,
InScope;Identity....
Multi-value fields should be separated by commas. For example,
value1,value2....
LicensesToAdd should contain SKUs of the licenses you want to add. SKUs can
be retrieved using Export-M365OrgLicenses.