Use the Move-WINSharedDrives cmdlet to move the contents of multiple filesystem shared drives.
Move-WINSharedDrives
-Target <String>
[-ShowPrereqs]
[<CommonParameters>]
Move-WINSharedDrives
-Target <String>
-Csv <String>
[-TranslationCsv <String>]
[-SourceFolder <String>]
[-TargetFolder <String>]
[-IncludePattern <String>]
[-ExcludePattern <String>]
[-MaxAge <String>]
[-MinAge <String>]
[-DryRun]
[-NoCache]
[-Verbosity <String>]
[<CommonParameters>]
Use this cmdlet to move the contents of a list of shared drive pairs.
See the Examples section for cmdlet requirements.
Description
This example moves the contents of shared drives to paired shared drives in Google Workspace.
Provider configuration
| Provider | Direction | APIs | Scopes |
|---|---|---|---|
| Windows filesystem | Source | N/A | N/A |
| Google Workspace | Target | Google Drive | https://www.googleapis.com/auth/drive |
CSV format
| SourceDisplayName | SourceId | TargetDisplayName | TargetId | TargetManager |
|---|---|---|---|---|
| Source Drive | Target Drive |
TMCTools
@{
Source = @{}
Target = @{
GOAdmin = '<ADMIN_ID>'
GOServiceAccountKey = '<KEYFILE_PATH>'
}
}
Move-WINSharedDrives -Csv 'shared_drives.csv' -Target Google
Description
This example moves the contents of shared drives to paired shared drives in Microsoft 365.
Provider configuration
| Provider | Direction | APIs | Scopes |
|---|---|---|---|
| Windows filesystem | Source | N/A | N/A |
| Microsoft 365 | Target | Microsoft Graph | Files.ReadWrite.All |
CSV format
| SourceDisplayName | SourceId | TargetDisplayName | TargetId |
|---|---|---|---|
| Source Drive | Target Drive |
TMCTools
@{
Source = @{}
Target = @{
M365Tenant = '<TENANT_ID>'
M365ClientId = '<CLIENT_ID>'
M365ClientSecret = '<CLIENT_SECRET>'
}
}
Move-WINSharedDrives -Csv 'shared_drives.csv' -Target M365
Description
This example moves the contents of shared drives to paired shared drives in the local filesystem.
Provider configuration
| Provider | Direction | APIs | Scopes |
|---|---|---|---|
| Windows filesystem | Source | N/A | N/A |
| Windows filesystem | Target | N/A | N/A |
CSV format
| SourceDisplayName | SourceId | TargetDisplayName | TargetId |
|---|---|---|---|
| Source Drive | Target Drive |
TMCTools
@{
Source = @{}
Target = @{}
}
Move-WINSharedDrives -Csv 'shared_drives.csv' -Target Windows
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 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
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
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
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
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
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
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 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
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.
Note that this parameter has no effect at this time and is reserved for future use.
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.
Required config.psd1 keys
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
Required APIs
Google:
Google DriveM365:
Microsoft GraphRequired scopes
Google:
https://www.googleapis.com/auth/driveM365 Graph Application:
Files.ReadWrite.AllDropbox:
account_info.readfiles.content.readfiles.content.writefiles.metadata.readteam_data.memberCSV format
The required fields vary by target. Each example shows the required fields for that target. The following fields are optional:
SourceDisplayNameSourceFolderTargetDisplayNameTargetFolder