Overview
For Windows systems, Migrate for Compute Engine provides some OS adaptation scripts by default. You can also provide additional scripts by saving them to this directory:
c:\Program Files\Velostrata\UserScripts
The registry is updated to run the scripts (also known as UserTasks
) on
startup depending on the environment where the VM is running (also known as the
MachineState
).
The three options for MachineState
are:
Origin
- The scripts run when the VM is in the on-premises environmentVelostrata
- The scripts run when the VM is running in cached mode.Detach
- The scripts run after the detach operation.
The tasks are executed sequentially in alphabetical order. If the order of the
tasks is important, use numerical prefixes in the task names, such as
10_ResetWMI
and 20_ConfigKMS
. Be sure to use absolute paths in the user
script because relative paths won't resolve correctly.
PowerShell Assistance Script
Migrate for Compute Engine provides a PowerShell module that simplifies installation
of your user script on a relevant VM. The script validates user input to
prevent inconsistent states, copies the user script to the UserScripts
directory, and creates a tree if needed. The PowerShell module also creates
the relevant registry keys and their trees, and fills in the appropriate values.
Module name: VelostrataUserScripts.psm1
Available commands are: Install-VelosUserScript
and Remove-VelosUserScript
To use the assistance script:
- Install the module.
- Download the user scripts.
Import the module (use the correct path for your deployment):
Import-Module .\VelostrataUserScripts.psm1 -force
Run the assistance script for each OS adaptation script/task you want to configure. For example:
Install-VelosUserScript -FilePath .\resetWMI.ps1 -TaskName "10_ResetWMI" -MachineState Detach -TaskType RunAlways -Platform GCP
where:FilePath is the script filename and path, and can be either a relative or an absolute path.
TaskName is a unique name you want to use for the task. See the note about sequencing above.
MachineState is one of the following three options:
Origin
- on-premises environment.Migrate for Compute Engine
- The scripts will run when the VM is running in cache mode.Detach
- The scripts will run after the detach operation.
TaskType is one one of the following options:
RunOnce
- This means the task will run once on the next boot and is then deleted.RunAlways
- The task runs on every boot.
Platform is one of the following environments in which the VM is running:
Aws
All
The script removal command validates that a task exists and then deletes it from the registry, and optionally from the scripts directory.
Remove-VelosUserScript -TaskName "ResetWMI" -MachineState Detach -DeleteScriptFile
where:
TaskName
is similar to the one provided duringscriptInstall
.DeleteScriptFile
is an optional parameter. Examples:Install-VelosUserScript -FilePath .\KMS\Config-Kms_AWS.ps1 -TaskName "10_configKMS" -MachineState Velostrata -TaskType RunAlways
Remove-VelosUserScript -TaskName "10_configKMS" -MachineState Velostrata -DeleteScriptFile