Moves user drives in a Google Workspace tenant to user drives in another tenant.
Move-GOUserDrives -Target <String> [-ShowPrereqs] [<CommonParameters>]
Move-GOUserDrives -Target <String> -Csv <String> [-TranslationCsv <String>] [-SourceFolder <String>]
[-TargetFolder <String>] [-IncludePattern <String>] [-DryRun] [-SharedWithMe] [-SkipUnowned]
[-Verbosity <String>] [<CommonParameters>]
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.
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
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'
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
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
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
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
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
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
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
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
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
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
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
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.