Logo

Documentation home for Transend tools

Move-GOUserDrives

SYNOPSIS

Moves user drives in a Google Workspace tenant to user drives in another tenant.

SYNTAX

Help (Default)

Move-GOUserDrives -Target <String> [-ShowPrereqs] [<CommonParameters>]

Action

Move-GOUserDrives -Target <String> -Csv <String> [-TranslationCsv <String>] [-SourceFolder <String>]
 [-TargetFolder <String>] [-IncludePattern <String>] [-DryRun] [-SharedWithMe] [-SkipUnowned]
 [-Verbosity <String>] [<CommonParameters>]

DESCRIPTION

Use the Move-GOUserDrives cmdlet to move user drives in a Google Workspace tenant to user drives in another tenant.

See the Examples section for cmdlet requirements.

EXAMPLES

Example 1: Move Google Workspace tenant drives to Google Workspace tenant drives

Description

This example moves pairs of Google Workspace tenant and Google Workspace tenant drives listed in user_drives.csv.

Note that the shared drive identified by SharedDriveId can exist in either the source or target tenant, and the accounts identified by SourceId and TargetId must have Manager access.

Tenant configuration

Tenant Direction APIs Scopes
Google Workspace Source Google Drive https://www.googleapis.com/auth/drive
Google Workspace Target Google Drive https://www.googleapis.com/auth/drive

CSV format

SourceId SharedDriveId TargetId
user@source.org 1BCK_2jXF… user@target.org

TMCTools

@{
  Source = @{
    GOAdmin             = 'admin@source.org'
    GOServiceAccountKey = 'C:\ProgramData\Transend\tools\source.org.json'
  }
  Target = @{
    GOAdmin             = 'admin@target.org'
    GOServiceAccountKey = 'C:\ProgramData\Transend\tools\target.org.json'
  }
}

Move-GOUserDrives -Csv 'user_drives.csv' -Target Google

Example 2: Move Google Workspace tenant drives to Microsoft 365 tenant drives with permissions

Description

This example moves pairs of Google Workspace 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 Rclone.IncludeMetadata and -TranslationCsv propagates permissions.

Tenant configuration

Tenant Direction APIs Scopes
Google Workspace Source Google Drive https://www.googleapis.com/auth/drive
Microsoft 365 Target Microsoft Graph Files.ReadWrite.All

CSV format

SourceId TargetId
user@source.org user@target.org

Translation CSV format

SourceName TargetName
user1@source.org user1@target.org
user2@source.org user2@target.org
source.org target.org

TMCTools

@{
  Source = @{
    GOAdmin             = 'admin@source.org'
    GOServiceAccountKey = 'C:\ProgramData\Transend\tools\source.org.json'
  }
  Target = @{
    M365ClientId        = '66666666-7777-8888-9999-000000000000'
    M365ClientSecret    = 'mnoPqRstuv1wXy23ZaBcDeFGhi4JkLmNO5PqrsTUvWX='
    M365Tenant          = 'target.org'
  }
  Rclone = @{
    IncludeMetadata     = $true
  }
}

Move-GOUserDrives -Csv 'user_drives.csv' -Target M365 -SourceFolder 'Migration' -TargetFolder 'Migration' -TranslationCsv 'translations.csv'

Example 3: Move Google Workspace tenant drives to Windows filesystem drives

Description

This example moves pairs of Google Workspace tenant and Windows filesystem drives listed in user_drives.csv.

Tenant configuration

Tenant Direction APIs Scopes
Google Workspace Source Google Drive https://www.googleapis.com/auth/drive
Windows filesystem Target N/A N/A

CSV format

SourceId TargetId
user@source.org C:\Drives\user@target.org

TMCTools

@{
  Source = @{
    GOAdmin             = 'admin@source.org'
    GOServiceAccountKey = 'C:\ProgramData\Transend\tools\source.org.json'
  }
  Target = @{}
}

Move-GOUserDrives -Csv 'user_drives.csv' -Target Windows

Example 4: Move Google Workspace tenant drives to Google Workspace tenant drives with merging

Description

This example uses the TargetFolder CSV field to merge multiple Google Workspace drives into a single Google Workspace tenant drive.

Tenant configuration

Tenant Direction APIs Scopes
Google Workspace Source Google Drive https://www.googleapis.com/auth/drive
Google Workspace Target Google Drive https://www.googleapis.com/auth/drive

CSV format

SourceId TargetId TargetFolder
user1@source.org merged@target.org User1
user2@source.org merged@target.org User2

TMCTools

@{
  Source = @{
    GOAdmin             = 'admin@source.org'
    GOServiceAccountKey = 'C:\ProgramData\Transend\tools\source.org.json'
  }
  Target = @{
    GOAdmin             = 'admin@target.org'
    GOServiceAccountKey = 'C:\ProgramData\Transend\tools\target.org.json'
  }
}

Move-GOUserDrives -Csv 'user_drives.csv' -Target Google

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

-DryRun

When specified, only log what would happen instead of actually transferring data.

Type: SwitchParameter
Parameter Sets: Action
Aliases:

Required: False
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

-SharedWithMe

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

-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

-SkipUnowned

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

-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

Specifies the name of a top-level folder in the target into which all data will be transferred. The source folder hierarchy is preserved under 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

-TranslationCsv

The path to a CSV file containing translation mappings. The file must use SourceName;TargetName as the field identifiers.

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