Compares user drives in a Microsoft 365 tenant to user drives in another tenant.
Compare-M365UserDrives -Target <String> [-ShowPrereqs]
[<CommonParameters>]
Compare-M365UserDrives -Target <String> -Csv <String> [-SourceFolder <String>] [-TargetFolder <String>]
[-IncludePattern <String>] [-OneWay] [-SharedWithMe] [-SkipUnowned] [-Verbosity <String>]
[<CommonParameters>]
Use the Compare-M365UserDrives
cmdlet to compare user drives
in a Microsoft 365 tenant to user drives in another tenant.
See the Examples section for cmdlet requirements.
Description
This example compares pairs of Microsoft 365 tenant and Google Workspace tenant drives
listed in user_drives.csv
.
Tenant configuration
Tenant | Direction | APIs | Scopes |
---|---|---|---|
Microsoft 365 | Source | Microsoft Graph | Files.Read.All |
Google Workspace | Target | Google Drive | https://www.googleapis.com/auth/drive.readonly |
CSV format
SourceId | TargetId |
---|---|
user@source.org | user@target.org |
TMCTools
@{
Source = @{
M365ClientId = '11111111-2222-3333-4444-555555555555'
M365ClientSecret = 'abcDeFghij1lMn23OpQrStUVwx4YzAbCD5EfghIJkLM='
M365Tenant = 'source.org'
}
Target = @{
GOAdmin = 'admin@target.org'
GOServiceAccountKey = 'C:\ProgramData\Transend\tools\target.org.json'
}
}
Compare-M365UserDrives -Csv 'user_drives.csv' -Target Google
Description
This example compares pairs of Microsoft 365 tenant and Microsoft 365 tenant drives
listed in user_drives.csv
.
Additional parameters change the basic functionality shown in Example 1:
Using -SourceFolder
and -TargetFolder
restricts the operation to the
Migration
folder.
Using -OneWay
means the comparison will only take into account discrepancies
in the target, which is useful for migration scenarios, when you only want to
ensure that everything that was in the source now also exists in the target.
Tenant configuration
Tenant | Direction | APIs | Scopes |
---|---|---|---|
Microsoft 365 | Source | Microsoft Graph | Files.Read.All |
Microsoft 365 | Target | Microsoft Graph | Files.Read.All |
CSV format
SourceId | TargetId |
---|---|
user@source.org | user@target.org |
TMCTools
@{
Source = @{
M365ClientId = '11111111-2222-3333-4444-555555555555'
M365ClientSecret = 'abcDeFghij1lMn23OpQrStUVwx4YzAbCD5EfghIJkLM='
M365Tenant = 'source.org'
}
Target = @{
M365ClientId = '66666666-7777-8888-9999-000000000000'
M365ClientSecret = 'mnoPqRstuv1wXy23ZaBcDeFGhi4JkLmNO5PqrsTUvWX='
M365Tenant = 'target.org'
}
}
Compare-M365UserDrives -Csv 'user_drives.csv' -Target M365 -SourceFolder 'Migration' -TargetFolder 'Migration' -OneWay
Description
This example compares pairs of Microsoft 365 tenant and Windows filesystem drives
listed in user_drives.csv
.
Tenant configuration
Tenant | Direction | APIs | Scopes |
---|---|---|---|
Microsoft 365 | Source | Microsoft Graph | Files.Read.All |
Windows filesystem | Target | N/A | N/A |
CSV format
SourceId | TargetId |
---|---|
user@source.org | C:\Drives\user@target.org |
TMCTools
@{
Source = @{
M365ClientId = '11111111-2222-3333-4444-555555555555'
M365ClientSecret = 'abcDeFghij1lMn23OpQrStUVwx4YzAbCD5EfghIJkLM='
M365Tenant = 'source.org'
}
Target = @{}
}
Compare-M365UserDrives -Csv 'user_drives.csv' -Target Windows
The path to a CSV file containing drives to process. See the examples for the required CSV format.
Type: String
Parameter Sets: Action
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
A matching pattern to determine which folders and files to include. See https://rclone.org/filtering/ for syntax details.
Type: String
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
All regular files in the source and target are included by default. Use
-OneWay
to restrict files to the source only. This is useful when migrating
data, when you only care that files from the source are migrated to the target
and do not want to consider pre-existing target files.
Type: SwitchParameter
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Shared with me
files are omitted by default. Use -SharedWithMe
to include
them. Note that this option means that only Shared with me
files are
considered.
This option only applies to Google Workspace.
Type: SwitchParameter
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Prints the cmdlet prerequisites.
Type: SwitchParameter
Parameter Sets: Help
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Files the user does not own are included by default. Use -SkipUnowned
to
exclude them.
This option only applies to Google Workspace.
Type: SwitchParameter
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Restrict the source-side listing to the specified folder.
Note that this parameter is a global option that applies to all drives listed in the CSV file.
This parameter has no effect if the SourceFolder
CSV field is set.
Type: String
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
The target platform. Supported values are Google
, M365
and Windows
.
Type: String
Parameter Sets: (All)
Aliases:
Accepted values: Google, M365, Windows
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Restrict the target-side listing to the specified folder.
Note that this parameter is a global option that applies to all drives listed in the CSV file.
This parameter has no effect if the TargetFolder
CSV field is set.
Type: String
Parameter Sets: Action
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
The amount of detail logged during processing.
Type: String
Parameter Sets: Action
Aliases:
Accepted values: None, Normal, Detailed, Diagnostic
Required: False
Position: Named
Default value: Detailed
Accept pipeline input: False
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.