Skip to main content

Copy-Chat

Copy Microsoft Teams private chats with PowerShell

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

Did this answer your question?