Logo

Documentation home for Transend tools

Move-GOSharedDrives

SYNOPSIS

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

SYNTAX

Help (Default)

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

Action

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

DESCRIPTION

Use the Move-GOSharedDrives cmdlet to move shared drives in a Google Workspace tenant to shared 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 shared_drives.csv.

Note that SourceManager and TargetManager must have Manager access to the SourceId 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

SourceDisplayName SourceId SourceManager TargetDisplayName TargetId TargetManager
Source Drive 0ACK_2jXF… manager@source.org Target Drive 0ADL_3kYG… manager@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-GOSharedDrives -Csv 'shared_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 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 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 Sites.ReadWrite.All

CSV format

SourceDisplayName SourceId SourceManager TargetDisplayName TargetId
Source Drive 0ACK_2jXF… manager@source.org Target Drive b!EdvAYtq…

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-GOSharedDrives -Csv 'shared_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 shared_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

SourceDisplayName SourceId SourceManager TargetDisplayName TargetId
Source Drive 0ACK_2jXF… manager@source.org Target Drive C:\Drives\Share

TMCTools

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

Move-GOSharedDrives -Csv 'shared_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 tenant 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

SourceDisplayName SourceId SourceManager TargetDisplayName TargetId TargetManager TargetFolder
Source Drive 1 0ACK_2jXF… manager@source.org Merged Drive 0ADL_3kYG… manager@target.org Source Drive 1
Source Drive 2 1BDL_2kYG… manager@source.org Merged Drive 0ADL_3kYG… manager@target.org Source Drive 2

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-GOSharedDrives -Csv 'shared_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

-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

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