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

Set-AzPolicyDefinition

修改策略定义。

语法

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>]

说明

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 将其模式属性设置为“All”来更新名为 VMPolicyDefinition 的策略定义。

示例 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 将使用最新的可用版本。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Description

指定策略定义的新说明。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DisplayName

为策略定义指定新的显示名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Id

指定此 cmdlet 修改的策略定义的完全限定的资源 ID。

类型:String
别名:ResourceId
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-InputObject

要更新另一个 cmdlet 输出的策略定义对象。

类型:PsPolicyDefinition
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ManagementGroupName

要更新的策略定义的管理组的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Metadata

策略定义的元数据。 这可以是包含元数据的文件名的路径,也可以是元数据作为字符串的路径。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Mode

新策略定义的模式。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Name

指定此 cmdlet 修改的策略定义的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Parameter

策略定义的参数声明。 这可以是包含参数声明的文件名或 URI 的路径,也可以是参数声明为字符串的路径。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Policy

指定策略定义的新策略规则。 可以指定.json文件的路径或包含 JavaScript 对象表示法(JSON)格式的策略的字符串。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Pre

指示此 cmdlet 在自动确定要使用的版本时会考虑预发布 API 版本。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SubscriptionId

要更新的策略定义的订阅 ID。

类型:Nullable<T>[Guid]
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

输入

String

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

输出

PSObject