Общие сведения о ресурсах назначения конфигурации машины

При назначении Политика Azure, если он находится в категорииGuest Configuration, есть метаданные, включенные для описания гостевого назначения.

Доступен пошаговый видеопросмотр этого документа.

Гостевое назначение можно рассматривать как связь между компьютером и сценарием политики Azure. Например, приведенный ниже фрагмент кода связывает базовую конфигурацию Windows Azure, имеющую минимальную версию 1.0.0, со всеми компьютерами в области политики.

"metadata": {
    "category": "Guest Configuration",
    "guestConfiguration": {
        "name": "AzureWindowsBaseline",
        "version": "1.*"
    }
  //additional metadata properties exist
}

Использование назначения конфигурации компьютера в Политике Azure

Служба конфигурации компьютера использует сведения о метаданных для автоматического создания ресурса аудита для определений с AuditIfNotExists помощью эффектов политики.DeployIfNotExists В качестве типа ресурса используйте Microsoft.GuestConfiguration/guestConfigurationAssignments. Политика Azure использует свойство complianceStatus ресурса назначения гостя для сообщения о состоянии соответствия. Дополнительные сведения см. в руководстве по получению данных соответствия.

Удаление гостевых назначений из политики Azure

При удалении назначения Политика Azure, если политика создала назначение конфигурации компьютера, назначение конфигурации компьютера также удаляется.

Когда назначение Политика Azure удаляется из инициативы, необходимо вручную удалить все назначения конфигурации компьютера, созданные политикой. Это можно сделать, перейдя на страницу гостевых назначений на портал Azure и удалив назначение там.

Создание назначений конфигурации компьютера вручную

Ресурсы гостевого назначения можно создавать в Azure Resource Manager с помощью Политика Azure или любого клиентского пакета SDK.

Пример шаблона развертывания:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "apiVersion": "2021-01-25",
      "type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
      "name": "myMachine/Microsoft.GuestConfiguration/myConfig",
      "location": "westus2",
      "properties": {
        "guestConfiguration": {
          "name": "myConfig",
          "contentUri": "https://mystorageaccount.blob.core.windows.net/mystoragecontainer/myConfig.zip?sv=SASTOKEN",
          "contentHash": "SHA256HASH",
          "version": "1.0.0",
          "assignmentType": "ApplyAndMonitor",
          "configurationParameter": {}
        }
      }
    }
  ]
}

В нижеприведенной таблице описано каждое свойство ресурсов гостевого назначения.

Свойство Описание
name Имя конфигурации в MOF-файле пакета содержимого.
contentUri Путь URI HTTPS к пакету содержимого (.zip).
contentHash Хэш-значение SHA256 пакета содержимого, используемое для проверки того, что он не изменился.
version Версия пакета содержимого. Используется только для встроенных пакетов и не используется для пользовательских пакетов содержимого.
assignmentType Алгоритм действий назначения. Допустимые значения: Audit, ApplyandMonitor и ApplyandAutoCorrect.
configurationParameter Список типа ресурса DSC, имени и значения в MOF-файле пакета содержимого, которые должны быть переопределены после его загрузки на компьютер.

Удаление созданных вручную назначений конфигурации компьютера

Необходимо вручную удалить назначения конфигурации компьютера, созданные с помощью любого ручного подхода (например, развертывания шаблона Azure Resource Manager). Удаление родительского ресурса (виртуальной машины или компьютера с поддержкой Arc) также удаляет назначение конфигурации компьютера.

Чтобы вручную удалить назначение конфигурации компьютера, воспользуйтесь нижеприведенным примером. Обязательно замените все примеры строк, указанных квадратными <> скобками.

# First get details about the machine configuration assignment
$resourceDetails = @{
  ResourceGroupName = '<resource-group-name>'
  ResourceType      = 'Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments/'
  ResourceName      = '<vm-name>/Microsoft.GuestConfiguration'
  ApiVersion        = '2020-06-25'
}
$guestAssignment = Get-AzResource @resourceDetails

# Review details of the machine configuration assignment
$guestAssignment

# After reviewing properties of $guestAssignment to confirm
$guestAssignment | Remove-AzResource

Следующие шаги