|
| 1 | +--- |
| 2 | +external help file: WhiteboardAdmin-help.xml |
| 3 | +Module Name: WhiteboardAdmin |
| 4 | +online version: https://learn.microsoft.com/powershell/module/whiteboard/get-whiteboardmigrationmapping |
| 5 | +applicable: Microsoft Whiteboard |
| 6 | +title: Get-WhiteboardMigrationMapping |
| 7 | +schema: 2.0.0 |
| 8 | +author: guanki |
| 9 | +ms.author: guanki |
| 10 | +ms.reviewer: |
| 11 | +--- |
| 12 | + |
| 13 | +# Get-WhiteboardMigrationMapping |
| 14 | + |
| 15 | +## SYNOPSIS |
| 16 | +Gets all Azure whiteboards for a user and maps them with their migrated Fluid boards in SharePoint OneDrive. |
| 17 | + |
| 18 | +## SYNTAX |
| 19 | + |
| 20 | +``` |
| 21 | +Get-WhiteboardMigrationMapping [-UserId] <Guid> [[-IncrementalRunName] <String>] [-ForceAuthPrompt] |
| 22 | + [<CommonParameters>] |
| 23 | +``` |
| 24 | + |
| 25 | +## DESCRIPTION |
| 26 | + |
| 27 | +Gets all Azure whiteboards for a user and maps them with their migrated Fluid boards in SharePoint OneDrive. The cmdlet performs a full outer join mapping between Azure-based whiteboards and their corresponding Fluid boards that have been migrated to OneDrive. Returns mapping objects showing which Azure boards have been migrated, which migrated boards exist in OneDrive, and the relationship between them. |
| 28 | + |
| 29 | +The cmdlet connects to the Whiteboard service to retrieve Azure whiteboards (including those with fluidFileId) and connects to Microsoft Graph to access OneDrive and retrieve migrated boards from the user's OneDrive Whiteboards/Migration folder. It handles pagination for large datasets and includes retry logic for robustness. |
| 30 | + |
| 31 | +Mapping statuses include: |
| 32 | +- "Fully Mapped" - Azure board has a corresponding migrated board in OneDrive |
| 33 | +- "Migrated board not found" - Azure board exists but no corresponding migrated board found |
| 34 | +- "Azure board not found" - Migrated board exists in OneDrive but no corresponding Azure board |
| 35 | + |
| 36 | +## EXAMPLES |
| 37 | + |
| 38 | +### EXAMPLE 1 |
| 39 | + |
| 40 | +Get all Azure whiteboards and migrated Fluid boards for the user and return a mapping between them. |
| 41 | + |
| 42 | +```powershell |
| 43 | +Get-WhiteboardMigrationMapping -UserId 00000000-0000-0000-0000-000000000001 |
| 44 | +``` |
| 45 | + |
| 46 | +```Output |
| 47 | +AzureWhiteboardId : a1234567-89ab-cdef-0123-456789abcdef |
| 48 | +AzureWhiteboardTitle : Project Planning Board |
| 49 | +AzureWhiteboardOwnerId : 00000000-0000-0000-0000-000000000001 |
| 50 | +AzureWhiteboardCreatedTime : 2025-01-15T10:30:00Z |
| 51 | +AzureWhiteboardBaseApi : us.whiteboard.microsoft.com |
| 52 | +AzurePreviousOwnerId : |
| 53 | +FluidFileId : xyz/abc/a1 |
| 54 | +MigratedBoardDriveId : b!abc123 |
| 55 | +MigratedBoardItemId : def456 |
| 56 | +MigratedBoardName : Project Planning Board.whiteboard |
| 57 | +MigratedBoardSize : 45678 |
| 58 | +MigratedBoardLastModified : 2025-02-10T14:22:00Z |
| 59 | +MigratedBoardCreated : 2025-02-10T09:15:00Z |
| 60 | +MappingStatus : Fully Mapped |
| 61 | +
|
| 62 | +AzureWhiteboardId : b2345678-90ab-cdef-0123-456789abcdef |
| 63 | +AzureWhiteboardTitle : Team Brainstorm |
| 64 | +AzureWhiteboardOwnerId : 00000000-0000-0000-0000-000000000001 |
| 65 | +AzureWhiteboardCreatedTime : 2025-01-20T11:45:00Z |
| 66 | +AzureWhiteboardBaseApi : us.whiteboard.microsoft.com |
| 67 | +AzurePreviousOwnerId : |
| 68 | +FluidFileId : |
| 69 | +MigratedBoardDriveId : |
| 70 | +MigratedBoardItemId : |
| 71 | +MigratedBoardName : |
| 72 | +MigratedBoardSize : |
| 73 | +MigratedBoardLastModified : |
| 74 | +MigratedBoardCreated : |
| 75 | +MappingStatus : Migrated board not found |
| 76 | +``` |
| 77 | + |
| 78 | +### EXAMPLE 2 |
| 79 | + |
| 80 | +Get mapping and save incremental progress to file in the current directory. |
| 81 | + |
| 82 | +```powershell |
| 83 | +Get-WhiteboardMigrationMapping -UserId 00000000-0000-0000-0000-000000000001 -IncrementalRunName run1 |
| 84 | +``` |
| 85 | + |
| 86 | +```Output |
| 87 | +Starting new mapping operation |
| 88 | +
|
| 89 | +Mappings will be saved to WhiteboardMappings-run1.json in the current directory |
| 90 | +
|
| 91 | +Successfully connected to Microsoft Graph |
| 92 | +Getting all whiteboards for user 00000000-0000-0000-0000-000000000001 |
| 93 | +Found 25 old whiteboards |
| 94 | +Getting new migrated whiteboards from OneDrive for user 00000000-0000-0000-0000-000000000001 |
| 95 | +DriveIds for user 00000000-0000-0000-0000-000000000001 : b!abc123xyz |
| 96 | +Found 20 migrated whiteboards in drive b!abc123xyz for user 00000000-0000-0000-0000-000000000001 |
| 97 | +Mapping results saved to WhiteboardMappings-run1.json |
| 98 | +``` |
| 99 | + |
| 100 | +## PARAMETERS |
| 101 | + |
| 102 | +### -ForceAuthPrompt |
| 103 | + |
| 104 | +Optional. Always prompt for auth. Use to ignore cached credentials. |
| 105 | + |
| 106 | +```yaml |
| 107 | +Type: System.Management.Automation.SwitchParameter |
| 108 | +Parameter Sets: (All) |
| 109 | +Aliases: |
| 110 | + |
| 111 | +Required: False |
| 112 | +Position: Named |
| 113 | +Default value: False |
| 114 | +Accept pipeline input: False |
| 115 | +Accept wildcard characters: False |
| 116 | +``` |
| 117 | +
|
| 118 | +### -IncrementalRunName |
| 119 | +
|
| 120 | +Optional. Saves incremental progress as the cmdlet runs. Use to resume a partially completed mapping operation. Writes progress and results to a JSON file in the current directory with the format "WhiteboardMappings-{IncrementalRunName}.json". If this parameter is specified, the cmdlet saves results to the file and does not return objects to the pipeline. |
| 121 | +
|
| 122 | +```yaml |
| 123 | +Type: System.String |
| 124 | +Parameter Sets: (All) |
| 125 | +Aliases: |
| 126 | + |
| 127 | +Required: False |
| 128 | +Position: 2 |
| 129 | +Default value: None |
| 130 | +Accept pipeline input: False |
| 131 | +Accept wildcard characters: False |
| 132 | +``` |
| 133 | +
|
| 134 | +### -UserId |
| 135 | +
|
| 136 | +The ID of the user account to query whiteboards for. The cmdlet will retrieve all Azure whiteboards for this user and all migrated whiteboards from the user's OneDrive, then create a mapping between them. |
| 137 | +
|
| 138 | +```yaml |
| 139 | +Type: System.Guid |
| 140 | +Parameter Sets: (All) |
| 141 | +Aliases: |
| 142 | + |
| 143 | +Required: True |
| 144 | +Position: 1 |
| 145 | +Default value: None |
| 146 | +Accept pipeline input: False |
| 147 | +Accept wildcard characters: False |
| 148 | +``` |
| 149 | +
|
| 150 | +### CommonParameters |
| 151 | +
|
| 152 | +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, |
| 153 | +-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, |
| 154 | +-WarningAction, and -WarningVariable. For more information, see |
| 155 | +[about_CommonParameters](https://go.microsoft.com/fwlink/p/?LinkID=113216). |
| 156 | +
|
| 157 | +## INPUTS |
| 158 | +
|
| 159 | +## OUTPUTS |
| 160 | +
|
| 161 | +### System.Management.Automation.PSCustomObject |
| 162 | +
|
| 163 | +Returns mapping objects with the following properties: |
| 164 | +
|
| 165 | +- **AzureWhiteboardId** - The ID of the Azure whiteboard (null if only migrated board exists) |
| 166 | +- **AzureWhiteboardTitle** - The title of the Azure whiteboard |
| 167 | +- **AzureWhiteboardOwnerId** - The owner ID of the Azure whiteboard |
| 168 | +- **AzureWhiteboardCreatedTime** - When the Azure whiteboard was created |
| 169 | +- **AzureWhiteboardBaseApi** - The base API URL for the Azure whiteboard |
| 170 | +- **AzurePreviousOwnerId** - Previous owner ID if the board was transferred |
| 171 | +- **FluidFileId** - The Fluid file identifier linking Azure board to migrated board |
| 172 | +- **MigratedBoardDriveId** - The OneDrive drive ID where the migrated board is stored |
| 173 | +- **MigratedBoardItemId** - The item ID of the migrated board in OneDrive |
| 174 | +- **MigratedBoardName** - The name of the migrated board file |
| 175 | +- **MigratedBoardSize** - The size of the migrated board file in bytes |
| 176 | +- **MigratedBoardLastModified** - When the migrated board was last modified |
| 177 | +- **MigratedBoardCreated** - When the migrated board was created in OneDrive |
| 178 | +- **MappingStatus** - The mapping status: "Fully Mapped", "Migrated board not found", or "Azure board not found" |
| 179 | +
|
| 180 | +When -IncrementalRunName is specified, results are written to a JSON file instead of being returned to the pipeline. |
| 181 | +
|
| 182 | +## NOTES |
| 183 | +
|
| 184 | +This cmdlet requires connection to Microsoft Graph with the following scopes: User.Read.All, Files.Read.All, Sites.Read.All, Sites.ReadWrite.All. The cmdlet will automatically connect to Microsoft Graph if not already connected. |
| 185 | +
|
| 186 | +The cmdlet performs a full outer join between Azure whiteboards and migrated OneDrive boards, ensuring all boards are accounted for regardless of whether they have a corresponding match. |
| 187 | +
|
| 188 | +For large datasets, use the -IncrementalRunName parameter to save progress incrementally and allow resumption if the operation is interrupted. |
| 189 | +
|
| 190 | +For details on user IDs, see the [overview page](../../docs-conceptual/overview.md). |
| 191 | +
|
| 192 | +## RELATED LINKS |
| 193 | +
|
| 194 | +[Get-Whiteboard](Get-Whiteboard.md) |
| 195 | +
|
| 196 | +[Get-WhiteboardsMigrated](Get-WhiteboardsMigrated.md) |
| 197 | +
|
| 198 | +[Get-WhiteboardsForTenant](Get-WhiteboardsForTenant.md) |
0 commit comments