Set-AzPolicyDefinition

修改原則定義。

Syntax

Set-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Policy <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Policy <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   -ManagementGroupName <String>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Policy <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   -SubscriptionId <Guid>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyDefinition
   -Id <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Policy <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyDefinition
   [-DisplayName <String>]
   [-Description <String>]
   [-Policy <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   -InputObject <PsPolicyDefinition>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Set-AzPolicyDefinition Cmdlet 會修改原則定義。

範例

範例 1:更新原則定義的描述

$PolicyDefinition = Get-AzPolicyDefinition -Name 'VMPolicyDefinition'
Set-AzPolicyDefinition -Id $PolicyDefinition.ResourceId -Description 'Updated policy to not allow virtual machine creation'

第一個命令會使用 Get-AzPolicyDefinition Cmdlet 來取得名為 VMPolicyDefinition 的原則定義。 命令會將該物件儲存在 $PolicyDefinition變數中。 第二個命令會更新 $PolicyDefinition ResourceId 屬性所識別的原則定義描述。

範例 2:更新原則定義的模式

Set-AzPolicyDefinition -Name 'VMPolicyDefinition' -Mode 'All'

此命令會使用 Set-AzPolicyDefinition Cmdlet,將名為 VMPolicyDefinition 的原則定義更新為 'All'。

範例 3:更新原則定義的元數據

Set-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}'

Name               : VMPolicyDefinition
ResourceId         : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
ResourceName       : VMPolicyDefinition
ResourceType       : Microsoft.Authorization/policyDefinitions
SubscriptionId     : 11111111-1111-1111-1111-111111111111
Properties         : @{displayName=VMPolicyDefinition; policyType=Custom; mode=All; metadata=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition

此命令會更新名為 VMPolicyDefinition 的原則定義元數據,以指出其類別為 「虛擬機」。

參數

-ApiVersion

指定要使用的資源提供者 API 版本。 如果您未指定版本,此 Cmdlet 會使用最新的可用版本。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

指定原則定義的新描述。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

指定原則定義的新顯示名稱。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

指定此 Cmdlet 修改之原則定義的完整資源識別碼。

Type:String
Aliases:ResourceId
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

要更新另一個 Cmdlet 輸出的原則定義物件。

Type:PsPolicyDefinition
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ManagementGroupName

要更新之原則定義之管理群組的名稱。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

原則定義的元數據。 這可以是包含元數據的檔名路徑,或是作為字串的元數據。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Mode

新原則定義的模式。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定此 Cmdlet 修改的原則定義名稱。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Parameter

原則定義的參數宣告。 這可以是檔名或 URI 的路徑,其中包含參數宣告,或參數宣告為字串。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Policy

指定原則定義的新原則規則。 您可以指定.json檔案的路徑,或字串,其中包含 JavaScript 物件表示法 (JSON) 格式的原則。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Pre

指出此 Cmdlet 會在自動判斷要使用的版本時,考慮發行前版本 API 版本。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

要更新之原則定義的訂用帳戶標識碼。

Type:Nullable<T>[Guid]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

輸入

String

Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

輸出

PSObject