Logo

Documentation home for Transend tools

TMCTools

about_TMCTools

SHORT DESCRIPTION

Tools to complement Transend Migration Console.

LONG DESCRIPTION

The TMCTools module contains cmdlets for importing/exporting directory objects, migrating drive files and automating various admin activities.

EXAMPLES

See the help documentation for individual TMCTools cmdlets for usage examples. You can see a list of available cmdlets by running Get-Command -Module TMCTools.

CONFIG

To use TMCTools, you’ll need a TMCTools license key. The key must be added to TMCTools.psd in the General.LicenseKey variable.

You may need to add configuration information to C:\ProgramData\Transend\tools\config.psd1. A cmdlet’s doc page contains examples that show required configurations specific to that cmdlet. However, some options are general and apply to any cmdlet. Those options are defined in this section.

Note that options are tied to a configuration node, which are the top-level keys in the PowerShell data file. For example:

@{
  General = @{}
  Rclone  = @{}
  Source  = @{}
  Target  = @{}
}

In this example, the top-level keys are General, Rclone, Source and Target. Options belong to one or more of these keys and should be set as sub-keys within their top-level key. For a hypothetical option General.Foo, the config.psd1 file would look like this:

@{
  General = @{
    Foo = $true
  }
  Rclone  = @{}
  Source  = @{}
  Target  = @{}
}

It is not necessary to include a top-level key that does not contain any options, though doing so is harmless.

General options

  • General.FetchAfterAddRetries: The number of times to attempt to fetch a newly created object in an import tool. This is required to obtain the new object’s identifier and allow subsequent activities to complete.

    Default: 30

  • General.FilterReports: Determines whether or not filtering will be applied when building reports. This is useful to limit reports to only the most relevant data, especially for large migrations.

    Default: $false

  • General.LicenseKey: The TMCTools license key. This supersedes a value specified in the deprecated license.key file.

    Default: None

  • General.PruneAfterDays: The number of days after which logs will be deleted.

    Default: 0

  • General.MaxReports: The maximum number of reports to generate when building reports. Reports are sorted so that the most relevant N reports are returned.

    Default: Unlimited

  • General.StageIntermissionSeconds: The number of seconds to pause between stages for staged tools. This includes most import tools and some drive tools. Every staged tool has a reasonable default for a vanilla environment, but some environments might require a longer pause between stages to allow background processes to complete. For example, provisioning mailboxes in Microsoft 365 or file indexing in Google Workspace. If you find that data created during Stage 1 of a staged tool is not yet available when Stage 2 begins, consider using this option to lengthen the pause between stages.

    Default: 600

  • General.StagePauseSeconds: The number of seconds to pause within a stage for activities that must happen with a delay within the same stage. Currently, this only applies to adding a license to a Microsoft 365 user, which must happen in Stage 1 but only after a short pause.

    Default: 60

Rclone options

  • Rclone.ApiRetries: The number of times Rclone should attempt a low-level API operation before failing.

    Default: 2

  • Rclone.DeleteEmptySourceDirectories: Determines whether or not Rclone will delete a directory that is emptied following a move operation.

    Default: $false

  • Rclone.IncludeDanglingShortcuts: Determines whether or not Rclone will consider dangling shortcuts in Google Workspace. Note that a dangling shortcut is a shortcut that points to an item that no longer exists.

    Default: $false

  • Rclone.IncludeLabels: Determines whether or not Rclone will fetch labels for Google Workspace files. Note that this requires an additional API call per file and can increase processing time significantly.

    Default: $false

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

    Default: $false

  • Rclone.IncludeShortcuts: Determines whether or not Rclone will consider shortcuts in Google Workspace. Before enabling this, be sure you understand the implications.

    Default: $false

  • Rclone.LogFormat: Determines the type of logging Rclone uses. Options are text for human-friendly logging and json for machine-friendly logging. Note that in-flight reporting requires JSON logs.

    Default: 'json'

  • Rclone.PollingSeconds: Determines how often (in seconds) in-flight reporting will be printed. Note that this option requires running jobs in the background.

    Default: 5

  • Rclone.Retries: The number of times Rclone should attempt a high-level operation before failing. Field testing has shown that increasing this value only delays how long it takes to produce a failure because Rclone will cycle through the drive multiple times to attempt to pick up failures from the previous retry. In most cases, those failures will simply fail again, so the default option allows reaching the final stage faster.

    Default: 1

  • Rclone.RunInForeground: Determines whether or not Rclone jobs will run in the foreground instead of running in the background. Note that running jobs in the foreground precludes in-flight reporting.

    Default: $false

  • Rclone.SkipChecksumValidation: Determines whether or not Rclone will skip the post-transfer check of checksums.

    Default: $false

  • Rclone.SkipGoogleDocs: Determines whether or not Rclone will consider Google Workspace’s proprietary document types like Docs and Sheets.

    Default: $false

  • Rclone.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

  • Rclone.SkipIfOwner: Determines how to handle permissions for entities with the owner role in the source. Set to $true to filter out such permissions. Set to $false to include such permissions.

    Default: $true

  • Rclone.SkipMapperLogging: Determines whether or not mapper logs will be generated. Troubleshooting mapping issues requires mapper logging, but it introduces a performance penalty.

    Default: $false

  • Rclone.SkipSizeValidation: Determines whether or not Rclone will skip size comparisons when evaluating files for transfer.

    Default: $false

  • Rclone.StopOnThrottling: Determines whether or not a job will be stopped if source or target throttling is detected.

    Default: $false

  • Rclone.StreamAboveSize: The size above which transfers will switch to chunked operations. Note that this needs to be set in SizeSuffix notation. For example, to use chunked operations above 100 KiB, set the value to 100Ki.

    Default: Rclone default ('100Ki')

  • Rclone.Threads: The number of Rclone threads to use for parallel processing. Note that increasing this also increases the likelihood of throttling.

    Default: 8

  • Rclone.TransactionsPerSecondLimit: The number of transactions Rclone is allowed to perform per second. By default, Rclone is not capped and will attempt as many transactions as the underlying hardware and network will allow. This option can be used to limit the number of transactions to avoid throttling.

    Default: Rclone default (unlimited)

  • Rclone.UploadSegmentSize: The segment size to use for large files that are uploaded in chunks. Note that this needs to be set in SizeSuffix notation. For example, to use segments of 8 Mib, set the value to 8Mi.

    Default: '8Mi'

  • Rclone.UseFastList: Determines whether or not Rclone will use a recursive directory listing for supported platforms. This can potentially increase read times at the cost of more memory.

    Default: $false

  • Rclone.UseQuotaSize: Determines whether or not Rclone will report Google Workspace files with their actual size or quota size, which includes the file and additional versions.

    Default: $false