你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何使用 Azure 资源管理器模板创建机器配置分配

可以部署包含计算机配置分配资源的 Azure 资源管理器模板。 本文演示了部署自定义配置和内置配置的示例。

在以下每个部分,示例都包含一个名称以 Microsoft.Compute/virtualMachines 开头的类型属性。 来宾配置资源提供程序 Microsoft.GuestConfiguration 是必须引用父类型的扩展资源

若要修改示例以适用于其他资源类型(例如已启用 Arc 的服务器),可将父类型更改为资源提供程序的名称。 对于已启用 Arc 的服务器,资源提供程序为 Microsoft.HybridCompute/machines

将以下“<>”字段替换为特定于你的环境的值:

  • <vm_name>:指定要应用配置的计算机资源的名称。
  • <configuration_name>:指定要应用的配置的名称。
  • <vm_location>:指定要用于创建机器配置分配的 Azure 区域。
  • <Url_to_Package.zip>:指定自定义内容包 .zip 文件的 HTTPS 链接。
  • <SHA256_hash_of_package.zip>:指定自定义内容包 .zip 文件的 SHA256 哈希。

分配自定义配置

以下示例分配自定义配置。

{
    "apiVersion": "2020-06-25",
    "type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
    "name": "<vm_name>/Microsoft.GuestConfiguration/<configuration_name>",
    "location": "<vm_location>",
    "dependsOn": [
        "Microsoft.Compute/virtualMachines/<vm_name>"
    ],
    "properties": {
        "guestConfiguration": {
            "name": "<configuration_name>",
            "contentUri": "<Url_to_Package.zip>",
            "contentHash": "<SHA256_hash_of_package.zip>",
            "assignmentType": "ApplyAndMonitor"
        }
    }
}

分配内置配置

以下示例分配 AzureWindowBaseline 内置配置。

{
    "apiVersion": "2020-06-25",
    "type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
    "name": "<vm_name>/Microsoft.GuestConfiguration/<configuration_name>",
    "location": "<vm_location>",
    "dependsOn": [
        "Microsoft.Compute/virtualMachines/<vm_name>"
    ],
    "properties": {
        "guestConfiguration": {
            "name": "AzureWindowsBaseline",
            "version": "1.*",
            "assignmentType": "ApplyAndMonitor",
            "configurationParameter": [
                {
                    "name": "Minimum Password Length;ExpectedValue",
                    "value": "16"
                },
                {
                    "name": "Minimum Password Length;RemediateValue",
                    "value": "16"
                },
                {
                    "name": "Maximum Password Age;ExpectedValue",
                    "value": "75"
                },
                {
                    "name": "Maximum Password Age;RemediateValue",
                    "value": "75"
                }
            ]
        }
    }
}