概览
对于 Windows 系统,Google Cloud Migrate for Compute Engine(以前称为 Velostrata)默认提供一些操作系统适配脚本。您还可提供其他脚本,方式是将其保存到以下目录:
c:\Program Files\Velostrata\UserScripts
更新注册表,使其在启动时根据运行虚拟机的环境(也称为 MachineState
)运行脚本(也称为 UserTasks
)。
MachineState
的三个选项如下:
Origin
- 当虚拟机位于本地环境中时运行的脚本Velostrata
- 当虚拟机以缓存模式运行时运行的脚本。Detach
- 在分离操作后运行的脚本。
这些任务按字母顺序依序执行。如果任务的顺序很重要,请在任务名称中添加数字前缀,例如 10_ResetWMI
和 20_ConfigKMS
。请确保在用户脚本中使用绝对路径,因为相对路径无法正确解析。
PowerShell 辅助脚本
Migrate for Compute Engine 提供了一个 PowerShell 模块,可以简化用户脚本在相关虚拟机上的安装。脚本会验证用户输入以防止状态不一致,将用户脚本复制到 UserScripts
目录,并在需要时创建树。PowerShell 模块还会创建相关的注册表项及其树,并填写相应的值。
模块名称:MigrateForGCEUserScripts.psm1
可用命令:Install-VelosUserScript
和 Remove-VelosUserScript
要使用辅助脚本,请执行以下操作:
- 安装模块。
- 从下载页面下载 PowerShell 用户脚本。
导入模块(使用正确的部署路径):
Import-Module .\MigrateForGCEUserScripts.psm1 -force
针对要配置的各个操作系统适配脚本/任务运行辅助脚本。例如:
Install-VelosUserScript -FilePath .\resetWMI.ps1 -TaskName "10_ResetWMI" -MachineState Detach -TaskType RunAlways -Platform GCP
其中:FilePath 是脚本文件名和路径,可以是相对路径,也可以是绝对路径。
TaskName 是要用于任务的唯一名称。请查看上述顺序说明。
MachineState 是下面三个选项之一:
Origin
- 本地环境。Migrate for Compute Engine
- 当虚拟机以缓存模式运行时,将运行脚本。Detach
- 在分离操作后,将运行脚本。
TaskType 是下述选项之一:
RunOnce
- 这表示任务将在下次启动时运行一次,然后被删除。RunAlways
- 任务会在每次启动时运行。
Platform 是运行虚拟机的下列环境之一:
Aws
All
脚本移除命令用于验证某任务是否存在,然后从注册表中删除它,也可选择从脚本目录中将其删除。
Remove-VelosUserScript -TaskName "ResetWMI" -MachineState Detach -DeleteScriptFile
其中:
TaskName
与在scriptInstall
期间提供的类似。DeleteScriptFile
为可选参数。示例:Install-VelosUserScript -FilePath .\KMS\Config-Kms_AWS.ps1 -TaskName "10_configKMS" -MachineState Velostrata -TaskType RunAlways
Remove-VelosUserScript -TaskName "10_configKMS" -MachineState Velostrata -DeleteScriptFile