Logo

Documentation home for Transend tools

Move-GOUserDrives

SYNOPSIS

Use the Move-GOUserDrives cmdlet to move the contents of multiple Google Workspace user drives.

SYNTAX

Help

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

Action

Move-GOUserDrives
  -Target <String>
  -Csv <String>
  [-TranslationCsv <String>]
  [-SourceFolder <String>]
  [-TargetFolder <String>]
  [-IncludePattern <String>]
  [-ExcludePattern <String>]
  [-MaxAge <String>]
  [-MinAge <String>]
  [-DryRun]
  [-NoCache]
  [-Verbosity <String>]
  [<CommonParameters>]

DESCRIPTION

Use this cmdlet to move the contents of a list of user drive pairs.

See the Examples section for cmdlet requirements.

EXAMPLES

Example 1: Move contents to Google Workspace user drives

Description

This example moves the contents of user drives to paired user drives in Google Workspace.

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.

Provider configuration

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

CSV format

SourceId SharedDriveId TargetId

TMCTools

@{
  Source = @{
    GOAdmin             = '<ADMIN_ID>'
    GOServiceAccountKey = '<KEYFILE_PATH>'
  }
  Target = @{
    GOAdmin             = '<ADMIN_ID>'
    GOServiceAccountKey = '<KEYFILE_PATH>'
  }
}

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

Example 2: Move contents to Microsoft 365 user drives

Description

This example moves the contents of user drives to paired user drives in Microsoft 365.

Provider configuration

Provider Direction APIs Scopes
Google Workspace Source Google Drive https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/drive
Microsoft 365 Target N/A Files.ReadWrite.All
Sites.Manage.All

CSV format

SourceId TargetId

TMCTools

@{
  Source = @{
    GOAdmin             = '<ADMIN_ID>'
    GOServiceAccountKey = '<KEYFILE_PATH>'
  }
  Target = @{
    M365Tenant          = '<TENANT_ID>'
    M365ClientId        = '<CLIENT_ID>'
    M365ClientSecret    = '<CLIENT_SECRET>'
  }
}

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

Example 3: Move contents to filesystem user drives

Description

This example moves the contents of user drives to paired user drives in the local filesystem.

Provider configuration

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

CSV format

SourceId TargetId

TMCTools

@{
  Source = @{
    GOAdmin             = '<ADMIN_ID>'
    GOServiceAccountKey = '<KEYFILE_PATH>'
  }
  Target = @{}
}

Move-GOUserDrives -Csv 'user_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

-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

-ExcludePattern

A matching pattern to determine which folders and files to exclude. Syntax details can be found here.

Type: String
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. Syntax details can be found here.

Type: String
Parameter Sets: Action
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-MaxAge

The maximum age (modified time) of files to include. Syntax details can be found here.

Type: String
Parameter Sets: Action
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-MinAge

The minimum age (modified time) of files to include. Syntax details can be found here.

Type: String
Parameter Sets: Action
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-NoCache

Refresh tokens obtained from a prior authentication will be used by default. If you are running different tools that require different permissions or want to log in as a different user, use the -NoCache option to bypass an existing refresh token.

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 provider.

Type: String
Parameter Sets: (All)
Aliases:
Accepted values: Dropbox, 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

Required config.psd1 keys

These configuration keys are scoped to the Source node in config.psd1.

  • GOAdmin: The ID of your tenant’s administrator.

  • GOServiceAccountKey: The path to your service account’s JSON key file.

These configuration keys are scoped to the Target node in config.psd1.

  • DBXAdmin: The ID of your tenant’s administrator. This must be in dbmid:Q7mX2vK9cR4nT8zLp5aW3yF6uJ1sHdB0eNg format. Only applies to a Dropbox target.

  • DBXClientId: The client ID of your tenant’s app. Only applies to a Dropbox target.

  • DBXClientSecret: The client secret of your tenant’s app. Only applies to a Dropbox target.

  • GOAdmin: The ID of your tenant’s administrator. Only applies to a Google Workspace target.

  • GOServiceAccountKey: The path to your service account’s JSON key file. Only applies to a Google Workspace target.

  • M365ClientId: The client ID of your tenant’s app. Only applies to a Microsoft 365 target.

  • M365ClientSecret: The client secret of your tenant’s app. Only applies to a Microsoft 365 target.

  • M365Tenant: The ID of your tenant. For example, target.org. Only applies to a Microsoft 365 target.

Optional config.psd1 keys

These configuration keys are scoped to the Target node in config.psd1.

  • M365CloudEnvironment: The cloud environment for your tenant. Allowed values are Global, China (.cn), Germany (.de) and USGovernment (.us). Only applies to a Microsoft 365 target.

    Default: Global

These configuration keys are scoped to the Rclone node in config.psd1.

  • DeleteEmptySourceDirectories: Determines whether Rclone will delete a directory that is emptied.

    Default: $true

  • IncludeMetadata: Determines whether Rclone will fetch metadata for files. This option enables or disables migrating permissions. Note that including metadata can increase processing time significantly.

    Default: $false

  • SkipIfNoTranslation: Determines how to handle permissions for entities that have no match in the translation table. Set to $true to prevent the entity from being propagated to the target’s metadata. Set to $false to propagate the untranslated name to the target’s metadata.

    Default: $false

Required APIs

See the Examples section for details.

Required scopes

See the Examples section for details.

CSV format

The required fields vary by target. Each example shows the required fields for that target. The following fields are optional:

  • SourceDisplayName
  • SourceFolder
  • TargetDisplayName
  • TargetFolder

Known limitations

  • Trashed files are not transferred.

  • Files flagged as malware are not transferred.

General configuration options