Compares shared drives in a Microsoft 365 tenant to shared drives in another tenant.
Compare-M365SharedDrives -Target <String> [-ShowPrereqs]
[<CommonParameters>]
Compare-M365SharedDrives -Target <String> -Csv <String> [-SourceFolder <String>] [-TargetFolder <String>]
[-IncludePattern <String>] [-OneWay] [-Verbosity <String>]
[<CommonParameters>]
Use the Compare-M365SharedDrives
cmdlet to compare shared drives
in a Microsoft 365 tenant to shared 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 shared_drives.csv
.
Tenant configuration
Tenant | Direction | APIs | Scopes |
---|---|---|---|
Microsoft 365 | Source | Microsoft Graph | Sites.Read.All |
Google Workspace | Target | Google Drive | https://www.googleapis.com/auth/drive.readonly |
CSV format
SourceDisplayName | SourceId | TargetDisplayName | TargetId | TargetManager |
---|---|---|---|---|
Source Drive | b!CbtYWro… | Target Drive | 0ADL_3kYG… | manager@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-M365SharedDrives -Csv 'shared_drives.csv' -Target Google
Description
This example compares pairs of Microsoft 365 tenant and Microsoft 365 tenant drives
listed in shared_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 | Sites.Read.All |
Microsoft 365 | Target | Microsoft Graph | Sites.Read.All |
CSV format
SourceDisplayName | SourceId | TargetDisplayName | TargetId |
---|---|---|---|
Source Drive | b!CbtYWro… | Target Drive | b!EdvAYtq… |
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-M365SharedDrives -Csv 'shared_drives.csv' -Target M365 -SourceFolder 'Migration' -TargetFolder 'Migration' -OneWay
Description
This example compares pairs of Microsoft 365 tenant and Windows filesystem drives
listed in shared_drives.csv
.
Tenant configuration
Tenant | Direction | APIs | Scopes |
---|---|---|---|
Microsoft 365 | Source | Microsoft Graph | Sites.Read.All |
Windows filesystem | Target | N/A | N/A |
CSV format
SourceDisplayName | SourceId | TargetDisplayName | TargetId |
---|---|---|---|
Source Drive | b!CbtYWro… | Target Drive | C:\Drives\Share |
TMCTools
@{
Source = @{
M365ClientId = '11111111-2222-3333-4444-555555555555'
M365ClientSecret = 'abcDeFghij1lMn23OpQrStUVwx4YzAbCD5EfghIJkLM='
M365Tenant = 'source.org'
}
Target = @{}
}
Compare-M365SharedDrives -Csv 'shared_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
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
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.