了解計算機設定指派資源

指派 Azure 原則 時,如果位於類別Guest Configuration中,則包含用來描述來賓指派的元數據。

此檔的影片逐步解說可供使用

您可以將來賓指派視為計算機與 Azure 原則 案例之間的連結。 例如,下列代碼段會將 Azure Windows 基準組態與原則範圍內的任何電腦建立 1.0.0 關聯。

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

Azure 原則 如何使用計算機設定指派

計算機組態服務會使用元數據資訊,針對具有 AuditIfNotExistsDeployIfNotExists 原則效果的定義自動建立稽核資源。 資源類型為 Microsoft.GuestConfiguration/guestConfigurationAssignments。 Azure 原則 使用來賓指派資源的 complianceStatus 屬性來報告合規性狀態。 如需詳細資訊,請參閱 取得合規性數據

從 Azure 原則 刪除來賓指派

刪除 Azure 原則 指派時,如果原則建立了計算機組態指派,也會刪除計算機組態指派。

從方案中刪除 Azure 原則 指派時,您必須手動刪除原則所建立的任何計算機設定指派。 您可以流覽至 Azure 入口網站 上的來賓指派頁面,並刪除該處的工作分派。。

手動建立計算機設定指派

您可以使用 Azure 原則 或任何用戶端 SDK,在 Azure Resource Manager 中建立來賓指派資源。

部署範本範例:

{
  "$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 內容套件的 HTTPS URI 路徑 (.zip)。
contentHash 內容套件的SHA256哈希值,用來驗證它尚未變更。
version 內容套件的版本。 僅適用於內建套件,不適用於自定義內容套件。
assignmentType 指派的行為。 允許的值: AuditApplyandMonitorApplyandAutoCorrect
configurationParameter 下載計算機后要覆寫的內容套件MOF檔案中的 DSC 資源類型、名稱和值清單。

刪除手動建立的計算機設定指派

您必須手動刪除透過任何手動方法建立的電腦設定指派(例如 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

下一步