Windows 适配

概览

对于 Windows 系统,Google Cloud Migrate for Compute Engine(以前称为 Velostrata)默认提供一些操作系统适配脚本。您还可提供其他脚本,方式是将其保存到以下目录:

c:\Program Files\Velostrata\UserScripts

更新注册表,使其在启动时根据运行虚拟机的环境(也称为 MachineState)运行脚本(也称为 UserTasks)。

MachineState 的三个选项如下:

  • Origin - 当虚拟机位于本地环境中时运行的脚本
  • Velostrata - 当虚拟机以缓存模式运行时运行的脚本。
  • Detach - 在分离操作后运行的脚本。

这些任务按字母顺序依序执行。如果任务的顺序很重要,请在任务名称中添加数字前缀,例如 10_ResetWMI20_ConfigKMS。请确保在用户脚本中使用绝对路径,因为相对路径无法正确解析。

PowerShell 辅助脚本

Migrate for Compute Engine 提供了一个 PowerShell 模块,可以简化用户脚本在相关虚拟机上的安装。脚本会验证用户输入以防止状态不一致,将用户脚本复制到 UserScripts 目录,并在需要时创建树。PowerShell 模块还会创建相关的注册表项及其树,并填写相应的值。

模块名称:MigrateForGCEUserScripts.psm1

可用命令:Install-VelosUserScriptRemove-VelosUserScript

要使用辅助脚本,请执行以下操作:

  1. 安装模块
  2. 下载页面下载 PowerShell 用户脚本。
  3. 导入模块(使用正确的部署路径):

    Import-Module .\MigrateForGCEUserScripts.psm1 -force

  4. 针对要配置的各个操作系统适配脚本/任务运行辅助脚本。例如:

    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
  5. 脚本移除命令用于验证某任务是否存在,然后从注册表中删除它,也可选择从脚本目录中将其删除。

    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