Tools to complement Transend Migration Console.
The TMCTools module contains cmdlets for importing/exporting directory objects, migrating drive files and automating various admin activities.
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
.
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.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.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