设置自定义数据(Windows 云服务器)

最近更新时间: 2024-06-12 15:06:00

操作场景

在创建云服务器时,您可以通过指定自定义数据,进行配置实例。当云服务器首次启动时,自定义数据将以文本的方式传递到云服务器中,并执行该文本。如果您一次购买多台云服务器,自定义数据会在所有的云服务器首次启动时运行该文本。 本文以 Windows 云服务器首次启动时,通过传递 PowerShell 格式的脚本为例。

注意事项

  • 支持自定义数据的 Windows 操作系统包括:

    • Windows Server 2016 数据中心版 64位 中/英文版

    • Windows Server 2012 R2 数据中心版 64位 中/英文版

  • 仅限首次启动云服务器时,通过传递文本执行命令。

  • 在 Base64 编码前,自定义数据内容不能超过16KB。

  • 自定义数据通过 Base64 编码传递,如您直接复制非 base64 的脚本文件,请不要勾选【输入为base64格式文本】。

  • 在启动时,执行自定义数据中指定的任务会增加启动服务器所需的时间。建议您等待几分钟,并在任务完成后,测试任务是否已成功执行。

  • 本示例中,请使用 PowerShell 标签指定 Windows PowerShell 脚本,例如 <powershell></powershell> 标签。

操作步骤

准备文本

请根据您的实际需求,准备文本:

PowerShell 脚本

使用 PowerShell 标签,准备一个 PowerShell 脚本文件。

例如,您需要在云服务器的 C: 盘中创建一个内容为 “Hello Cloud.” 的 “cloud.txt” 文件,则可使用 PowerShell 标签准备以下内容:

<powershell>
"Hello Cloud." | Out-File  C:\cloud.txt
</powershell>

Base64 编码脚本

  1. 执行以下命令,创建一个名称 “script_text.ps1” 的 PowerShell 脚本文件。

    vi script_text.ps1
  2. i 切换至编辑模式,参考以下内容,写入并保存 “script_text.ps1” 脚本文件。

    <powershell>
    "Hello Cloud." | Out-File  C:\cloud.txt
    </powershell>
  3. 执行以下命令,对 “script_text.ps1” 脚本文件进行 Base64 编码操作。

    base64 script_text.ps1

    返回以下信息:

    PHBvd2Vyc2hlbGw+CiJIZWxsbyBUZW5jZW50IENsb3VkLiIgfCBPdXQtRmlsZSAgQzpcdGVuY2VudGNsb3VkLnR4dAo8L3Bvd2Vyc2hlbGw+Cg==

传递文本

我们提供多种启动实例的方式,主要分为以下两种情况。请根据您的实际需求,进行选择:

通过官网或控制台传递

  1. 参考 创建实例 购买实例,并在【4.设置安全组和主机】中单击【高级设置】。如下图所示:

  2. 在【高级设置】中,根据实际需求,在【自定义数据】的文本框中输入准备的文本内容。

    • PowerShell 脚本:直接输入 PowerShell 脚本

    • Base64 编码脚本:需先勾选【输入为base64格式文本】,再输入 [Base64 编码脚本] (#Base64Script)。如下图所示:

  3. 按照界面信息逐步操作,完成创建云服务器。

通过 API 传递

当您通过 API 创建云服务器时,可以将 Base64 编码脚本 中返回的编码结果赋值给 RunInstances 接口的 UserData 参数,以此来传递文本。

例如,创建一个带 UserData 参数的云服务器的请求参数,其示例如下:

https://cvm.api3.fincloud.tencent.cn/?Action=RunInstances
  &Version=2017-03-12
  &Placement.Zone=ap-guangzhou-2
  &ImageId=img-pmqg1cw7
  &UserData=PHBvd2Vyc2hlbGw+CiJIZWxsbyBUZW5jZW50IENsb3VkLiIgfCBPdXQtRmlsZSAuXHRlbmNlbnRjbG91ZC50eHQKPC9wb3dlcnNoZWxsPgo=
  &<公共请求参数>

验证自定义数据配置

  1. 登录云服务器。

  2. 在操作系统界面,打开 C:\ 盘,查看是否存在 cloud.txt 文本文件。 如果存在 cloud.txt 文本文件,则表示配置成功。如下图所示: