Logo

Documentation home for Transend tools

Compare-M365SharedDrives

SYNOPSIS

Compares shared drives in a Microsoft 365 tenant to shared drives in another tenant.

SYNTAX

Help (Default)

Compare-M365SharedDrives -Target <String> [-ShowPrereqs]
 [<CommonParameters>]

Action

Compare-M365SharedDrives -Target <String> -Csv <String> [-SourceFolder <String>] [-TargetFolder <String>]
 [-IncludePattern <String>] [-OneWay] [-Verbosity <String>]
 [<CommonParameters>]

DESCRIPTION

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.

EXAMPLES

Example 1: Compare Microsoft 365 tenant drives to Google Workspace tenant drives

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

Example 2: Compare Microsoft 365 tenant drives to Microsoft 365 tenant drives

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

Example 3: Compare Microsoft 365 tenant drives to Windows filesystem drives

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

PARAMETERS

-Csv

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

-IncludePattern

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

-OneWay

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

-ShowPrereqs

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

-SourceFolder

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

-Target

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

-TargetFolder

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

-Verbosity

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

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

None

OUTPUTS

System.Void

NOTES

TMCTools configuration options