You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `Get-TenantPrivateChannelMigrationStatus` cmdlet allows tenant administrators to track the status of the private channel migration for their Microsoft Teams organization. More details about the migration can be found [here](https://techcommunity.microsoft.com/blog/microsoftteamsblog/new-enhancements-in-private-channels-in-microsoft-teams-unlock-their-full-potent/4438767#)
26
25
27
-
**Note:** This cmdlet requires tenant administrator permissions to execute.
26
+
Gets the private channel migration status for the current tenant, including per-channel details for channels that were skipped or failed during migration.
27
+
28
+
More details about the migration can be found [here](https://techcommunity.microsoft.com/blog/microsoftteamsblog/new-enhancements-in-private-channels-in-microsoft-teams-unlock-their-full-potent/4438767#).
29
+
30
+
Note: This cmdlet requires tenant administrator permissions to execute.
28
31
29
32
## EXAMPLES
30
33
31
34
### Example 1
32
-
This example retrieves the private channel migration status for the current tenant.
35
+
36
+
Gets the migration status for a tenant where all channels have been migrated.
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [About CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
48
92
49
93
## INPUTS
50
94
51
95
### None
52
-
This cmdlet does not accept pipeline input.
53
96
54
97
## OUTPUTS
55
98
56
99
### System.Object
57
100
58
-
This cmdlet returns a `PrivateChannelMigrationStatusResponse` object with the following properties:
101
+
Returns a `PrivateChannelMigrationStatusResponse` object with the following properties:
102
+
103
+
| Property | Type | Description |
104
+
|---|---|---|
105
+
|`TenantId`| String | The Microsoft Entra tenant identifier. |
106
+
|`MigrationStatus`| String | Overall migration status for the tenant. Possible values: `NotStarted`, `InProgress`, `Completed`, `RequiresAdminAttention`. |
107
+
|`MigrationStartTimeStamp`| DateTime | When migration started for this tenant. Empty if migration has not started. |
108
+
|`MigrationCompletionTimeStamp`| DateTime | When migration completed. Only populated when all channels are done. |
**TenantId**: The Azure AD tenant identifier for your organization.
111
+
### Migration status values
61
112
62
-
**MigrationStatus**: The current migration status for private channels in your tenant.
113
+
| Value | Description |
114
+
|---|---|
115
+
|`NotStarted`| No private channels have been processed for this tenant. |
116
+
|`InProgress`| Migration is underway. |
117
+
|`Completed`| All private channels have been successfully migrated. |
118
+
|`RequiresAdminAttention`| One or more channels were skipped because they have no owners. If these channels are still in use, a tenant admin or Teams service admin can add an owner to unblock migration. Failed channels do not require admin action and are retried automatically. |
63
119
64
-
**MigrationStartTimeStamp**: The timestamp when the migration started for this tenant.
120
+
### Details JSON fields
65
121
66
-
**MigrationCompletionTimeStamp**: The timestamp when the migration completed for this tenant.
122
+
| Field | Type | Description |
123
+
|---|---|---|
124
+
|`totalChannels`| Integer | Total number of private channels for this tenant. |
125
+
|`migratedChannels`| Integer | Number of channels migrated successfully. |
126
+
|`failedChannels`| Integer | Number of channels where migration failed. No admin action is needed. |
127
+
|`ownerlessChannels`| Integer | Number of channels skipped because they have no owners. |
128
+
|`remainingChannels`| Integer | Number of channels still in progress or not yet started. |
129
+
|`ownerlessChannelsDetails`| Array | Per-channel details for ownerless channels. Each entry contains `channelThreadId` and `teamId`. |
130
+
|`failedChannelsDetails`| Array | Per-channel details for failed channels. Each entry contains `channelThreadId` and `teamId`. |
131
+
132
+
### Channel detail object
133
+
134
+
| Field | Type | Description |
135
+
|---|---|---|
136
+
|`channelThreadId`| String | The unique identifier of the private channel. |
137
+
|`teamId`| String | The unique identifier (GroupId) of the parent team. This is the same value used by the `-GroupId` parameter in [Get-Team](https://learn.microsoft.com/powershell/module/microsoftteams/get-team), [Get-TeamChannel](https://learn.microsoft.com/powershell/module/microsoftteams/get-teamchannel), and [Microsoft Graph team resource](https://learn.microsoft.com/graph/api/resources/team). |
67
138
68
139
## NOTES
69
-
- This cmdlet requires tenant administrator permissions
70
-
- The cmdlet connects to the Teams and Channels service to retrieve migration status information
71
-
- Private channels remain functional throughout the migration process
72
-
- This enhancement helps make private channels more scalable, manageable, and compliant
73
140
74
-
Common migration status values include:
75
-
-**NotStarted**: Migration has not yet begun
76
-
-**InProgress**: Migration is currently running
77
-
-**Completed**: Migration has finished successfully
141
+
- This cmdlet requires tenant administrator permissions.
142
+
- Private channels remain functional throughout the migration process.
143
+
- The `Details` property is returned as a JSON string. Use `ConvertFrom-Json` to parse it.
144
+
- When no ownerless or failed channels exist, the respective detail arrays may be empty or omitted from the JSON.
145
+
- Failed channels do not require admin action. They are retried automatically.
146
+
- Ownerless channels were skipped because they have no owners. If these channels are still in use, a tenant admin or Teams service admin can add an owner using [Add-TeamUser](https://learn.microsoft.com/powershell/module/microsoftteams/add-teamuser) and [Add-TeamChannelUser](https://learn.microsoft.com/powershell/module/microsoftteams/add-teamchanneluser).
78
147
79
148
## RELATED LINKS
149
+
80
150
[New enhancements in Private Channels in Microsoft Teams unlock their full potential](https://techcommunity.microsoft.com/blog/microsoftteamsblog/new-enhancements-in-private-channels-in-microsoft-teams-unlock-their-full-potent/4438767)
81
151
82
152
[Microsoft Teams PowerShell Overview](https://learn.microsoft.com/powershell/teams/)
0 commit comments