Note: PowerShell integration requires a ShareGate Migrate Pro or Enterprise subscription. It is not available on the Essentials plan.
Command
Connect-MicrosoftOnline
Description
The command to connect to a Microsoft Online account to do a copy.
Examples
Connect using the browser
Connect-MicrosoftOnline
Note: When you run this command, you are prompted to log in to your Microsoft account using a web browser.
Connect using existing connection
Connect-MicrosoftOnline -TenantId 44a99b43-9521-470c-ad78-9375e86fdfa6 -UserId b9e3b106-2a8a-45cd-a761-48b46ec8d2d2
Connect using username and password
$mypassword = ConvertTo-SecureString "mypassword" -AsPlainText -Force
Connect-MicrosoftOnline -UserName "[email protected]" -Password $mypassword
Connect using credentials provider
$credentials = Get-Credential
Connect-MicrosoftOnline -Credentials $credentials
Connect using an Azure AD application
$azureApp = New-AzureApplication -ClientId 11111111-2222-3333-4444-555555555555 -Thumbprint 1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B
Connect-MicrosoftOnline -TenantId 44a99b43-9521-470c-ad78-9375e86fdfa6 -AzureApplication $azureApp
Connect for a Teams private chats migration
$azureApp = New-AzureApplication -ClientId 11111111-2222-3333-4444-555555555555 -Thumbprint 1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B
Connect-MicrosoftOnline -TenantId 44a99b43-9521-470c-ad78-9375e86fdfa6 -AzureApplication $azureApp -CopyFeature ChatCopy
Syntax
Connect-MicrosoftOnline
[-CopyFeature <CopyFeature {MailboxCopy | ChatCopy}>]
Connect-MicrosoftOnline
-UserId <String>
-TenantId <String>
[-CopyFeature <CopyFeature {MailboxCopy | ChatCopy}>]
Connect-MicrosoftOnline
-Credentials <PSCredential>
[-CopyFeature <CopyFeature {MailboxCopy | ChatCopy}>]
Connect-MicrosoftOnline
-UserName <String>
-Password <SecureString>
[-CopyFeature <CopyFeature {MailboxCopy | ChatCopy}>]
Connect-MicrosoftOnline
-TenantId <String>
-AzureApplication <AzureApplication>
[-AllowMissingPermissions <SwitchParameter>]
[-CopyFeature <CopyFeature {MailboxCopy | ChatCopy}>]
Parameters
-AllowMissingPermissions <SwitchParameter>
Connect even when the Azure application is missing one or more required Exchange Online permissions. Operations relying on the missing access will fail with Forbidden errors.
Required? | False |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | ConnectUsingAzureApplication |
Aliases | None |
-AzureApplication <AzureApplication>
Specifies the Azure application used to authenticate. Build one with New-AzureApplication.
Required? | True |
Default value | None |
Accept pipeline input? | True (ByValue) |
Accept wildcard characters? | False |
Parameter set name | ConnectUsingAzureApplication |
Aliases | None |
-CopyFeature <CopyFeature>
Specifies the copy feature to use. Each copy feature requires a different Azure app registration with specific permissions. This parameter ensures the connection uses the correct app registration for the selected feature. Accepted values are MailboxCopy and ChatCopy. Use ChatCopy for Teams private chats migrations. When omitted, the default is MailboxCopy. For the permissions ChatCopy requires, see Microsoft 365 permission sets required for ShareGate.
Required? | False |
Default value | MailboxCopy |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | (All) |
Aliases | None |
-Credentials <PSCredential>
Specifies the credentials.
Required? | True |
Default value | None |
Accept pipeline input? | True (ByValue, ByPropertyName) |
Accept wildcard characters? | False |
Parameter set name | ConnectUsingPSCredentials |
Aliases | None |
-Password <SecureString>
Specifies the password.
Required? | True |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | ConnectUsingCredentials |
Aliases | None |
-TenantId <String>
Specifies the tenant ID used to connect.
Required? | True |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | ConnectUsingCache, ConnectUsingAzureApplication |
Aliases | None |
-UserId <String>
Specifies the user ID used to connect.
Required? | True |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | ConnectUsingCache |
Aliases | None |
-UserName <String>
Specifies the username.
Required? | True |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | ConnectUsingCredentials |
Aliases | None |
