Logo

Documentation home for Transend tools

Sync-WINSharedDrives

SYNOPSIS

Use the Sync-WINSharedDrives cmdlet to sync the contents of multiple filesystem shared drives.

SYNTAX

Help

Sync-WINSharedDrives
  -Target <String>
  [-ShowPrereqs]
  [<CommonParameters>]

Action

Sync-WINSharedDrives
  -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 sync the contents of a list of shared drive pairs.

See the Examples section for cmdlet requirements.

EXAMPLES

Example 1: Sync contents to Google Workspace shared drives

Description

This example syncs 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.readonly
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>'
  }
}

Sync-WINSharedDrives -Csv 'shared_drives.csv' -Target Google

Example 2: Sync contents to Microsoft 365 shared drives

Description

This example syncs 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 N/A Files.ReadWrite.All
Sites.Manage.All

CSV format

SourceDisplayName SourceId TargetDisplayName TargetId
Source Drive Target Drive

TMCTools

@{
  Source = @{}
  Target = @{
    M365Tenant          = '<TENANT_ID>'
    M365ClientId        = '<CLIENT_ID>'
    M365ClientSecret    = '<CLIENT_SECRET>'
  }
}

Sync-WINSharedDrives -Csv 'shared_drives.csv' -Target M365

Example 3: Sync contents to filesystem shared drives

Description

This example syncs 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 = @{}
}

Sync-WINSharedDrives -Csv 'shared_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.

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

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

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

General configuration options