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

Set-AzureRmResource

修改资源。

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

Set-AzureRmResource
   [-Kind <String>]
   [-Properties <PSObject>]
   [-Plan <Hashtable>]
   [-Sku <Hashtable>]
   [-Tag <Hashtable>]
   [-UsePatchSemantics]
   [-AsJob]
   -ResourceId <String>
   [-ODataQuery <String>]
   [-Force]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmResource
   -InputObject <PSResource>
   [-Kind <String>]
   [-Properties <PSObject>]
   [-Plan <Hashtable>]
   [-Sku <Hashtable>]
   [-Tag <Hashtable>]
   [-UsePatchSemantics]
   [-AsJob]
   [-ODataQuery <String>]
   [-Force]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmResource
   [-Kind <String>]
   [-Properties <PSObject>]
   [-Plan <Hashtable>]
   [-Sku <Hashtable>]
   [-Tag <Hashtable>]
   [-UsePatchSemantics]
   [-AsJob]
   -ResourceName <String>
   -ResourceType <String>
   [-ExtensionResourceName <String>]
   [-ExtensionResourceType <String>]
   [-ODataQuery <String>]
   [-ResourceGroupName <String>]
   [-Force]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmResource
   [-Kind <String>]
   [-Properties <PSObject>]
   [-Plan <Hashtable>]
   [-Sku <Hashtable>]
   [-Tag <Hashtable>]
   [-UsePatchSemantics]
   [-AsJob]
   -ResourceName <String>
   -ResourceType <String>
   [-ExtensionResourceName <String>]
   [-ExtensionResourceType <String>]
   [-ODataQuery <String>]
   [-TenantLevel]
   [-Force]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzureRmResource cmdlet 修改现有的 Azure 资源。 指定要按名称和类型或 ID 修改的资源。

示例

示例 1:修改资源

PS C:\> $Resource = Get-AzureRmResource -ResourceType Microsoft.Web/sites -ResourceGroupName ResourceGroup11 -ResourceName ContosoSite
PS C:\> $Resource.Properties.Enabled = "False"
PS C:\> $Resource | Set-AzureRmResource -Force

第一个命令使用 Get-AzureRmResource cmdlet 获取名为 ContosoSite 的资源,然后将其存储在$Resource变量中。 第二个命令修改$Resource的属性。 最终命令将更新资源以匹配$Resource。

示例 2:修改给定资源组中的所有资源

PS C:\> $Resource = Get-AzureRmResource -ResourceGroupName testrg
PS C:\> $Resource | ForEach-Object { $_.Tags.Add("testkey", "testval") }
PS C:\> $Resource | Set-AzureRmResource -Force

Name              : kv-test
ResourceId        : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testrg/providers/Microsoft.KeyVault/vaults/kv-test
ResourceName      : kv-test
ResourceType      : Microsoft.KeyVault/vaults
ResourceGroupName : testrg
Location          : westus
SubscriptionId    : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Tags              : {testrgkey, key}
Properties        : @{}

Name              : testresource
ResourceId        : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testrg/providers/Providers.Test/statefulResources/testresource
ResourceName      : testresource
ResourceType      : Providers.Test/statefulResources
ResourceGroupName : testrg
Location          : West US 2
SubscriptionId    : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Tags              : {testrgkey, anothertesttag}
Properties        : @{key=value}
Sku               : @{name=A0}

第一个命令获取 testrg 资源组中的资源,然后将其存储在 $Resource 变量中。

第二个命令循环访问资源组中的每个资源,并为其添加新标记。

最后一个命令更新每个资源。

参数

-ApiVersion

指定要使用的资源提供程序 API 的版本。 如果未指定版本,此 cmdlet 将使用最新的可用版本。

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

-AsJob

在后台运行 cmdlet

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

-Confirm

提示你在运行 cmdlet 之前进行确认。

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

-DefaultProfile

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

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

-ExtensionResourceName

指定资源的扩展资源的名称。 例如,若要指定数据库,请使用以下格式:服务器名称/数据库名称

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

-ExtensionResourceType

指定扩展资源的资源类型。 例如,如果扩展资源是数据库,请指定以下内容: Microsoft.Sql/Servers/Databases

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

-Force

强制运行命令而不要求用户确认。

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

-InputObject

要更新的资源的对象表示形式。

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

-Kind

指定资源的资源类型。

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

-ODataQuery

指定开放数据协议 (OData) 样式筛选器。 除了任何其他筛选器之外,此 cmdlet 还会将此值追加到请求中。

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

-Plan

将资源计划属性指定为资源的哈希表。

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

-Pre

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

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

-Properties

指定资源的资源属性。

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

-ResourceGroupName

指定此 cmdlet 修改资源的资源组的名称。

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

-ResourceId

指定完全限定的资源 ID,包括订阅,如以下示例所示: /subscriptions/订阅 ID/providers/Microsoft.Sql/servers/ContosoServer/databases/ContosoDatabase

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

-ResourceName

指定资源的名称。 例如,若要指定数据库,请使用以下格式: ContosoServer/ContosoDatabase

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

-ResourceType

指定资源的类型。 例如,对于数据库,资源类型如下所示: Microsoft.Sql/Servers/Databases

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

-Sku

将资源的 SKU 对象指定为哈希表。

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

-Tag

以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

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

-TenantLevel

指示此 cmdlet 在租户级别运行。

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

-UsePatchSemantics

指示此 cmdlet 使用 HTTP PATCH 更新对象,而不是 HTTP PUT。

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

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

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

输入

None

输出

Microsoft.Azure.Commands.ResourceManager.Models.PSResource