Note: PowerShell integration requires a ShareGate Migrate Pro or Enterprise subscription. It is not available on the Essentials plan.
Command
Copy-Chat
Description
Copy-Chat copies Microsoft Teams private chats from a source tenant to a destination tenant. It requires the users to copy, a source and destination connection, copy options, and user mappings. For recommendations and known limitations, see Copy private chats - Best practices and Copy private chats - Limitations.
Examples
Copy a user's chats
$source = Connect-MicrosoftOnline -TenantId 44a99b43-9521-470c-ad78-9375e86fdfa6 -CopyFeature ChatCopy
$destination = Connect-MicrosoftOnline -TenantId 8f14e1bd-8b7d-4a0a-9d3f-8b6a1c2d3e4f -CopyFeature ChatCopy
$usersToCopy = Get-ChatUser -Name "Adele Vance" -Connection $source
Export-UserMappings -SourceConnection $source -DestinationConnection $destination -Path "C:\MyMappings\ShareGateUsersMapping.csv"
$mappings = Import-UserMappings -SourceConnection $source -DestinationConnection $destination -Path "C:\MyMappings\ShareGateUsersMapping.csv"
$copyOptions = New-ChatCopyOptions -ChatStartDate (Get-Date).AddDays(-90)
Copy-Chat -Users $usersToCopy -SourceConnection $source -DestinationConnection $destination -CopyOptions $copyOptions -MappingSettings $mappings
Copy a user's chats with a task name
Copy-Chat -Users $usersToCopy -SourceConnection $source -DestinationConnection $destination -CopyOptions $copyOptions -MappingSettings $mappings -TaskName "Adele Vance chats"
Syntax
Copy-Chat
-Users <ChatUser[]>
-SourceConnection <IConnection>
-DestinationConnection <IConnection>
-CopyOptions <ChatCopyOptions>
-MappingSettings <ChatUserMapping[]>
[-TaskName <String>]
Parameters
-CopyOptions <ChatCopyOptions>
Specifies the chat copy options. Build them with New-ChatCopyOptions.
Required? | True |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | (All) |
Aliases | None |
-DestinationConnection <IConnection>
Specifies the destination connection.
Required? | True |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | (All) |
Aliases | None |
-MappingSettings <ChatUserMapping[]>
Specifies the user mappings. Get them with Import-UserMappings.
Required? | True |
Default value | ShareGate.Chats.Copy.Automation.UsersMappings.Entities.ChatUserMapping[] |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | (All) |
Aliases | None |
-SourceConnection <IConnection>
Specifies the source connection.
Required? | True |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | (All) |
Aliases | None |
-TaskName <String>
Specifies a name for the task.
Required? | False |
Default value | None |
Accept pipeline input? | False |
Accept wildcard characters? | False |
Parameter set name | (All) |
Aliases | None |
-Users <ChatUser[]>
Specifies the users whose chats will be copied. Get them with Get-ChatUser.
Required? | True |
Default value | ShareGate.Chats.Copy.Automation.Users.Entities.ChatUser[] |
Accept pipeline input? | True (ByValue) |
Accept wildcard characters? | False |
Parameter set name | (All) |
Aliases | None |
