Set-AzResource

Modifies a resource.

Syntax

Set-AzResource
   [-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-AzResource
   -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-AzResource
   [-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-AzResource
   [-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>]

Description

The Set-AzResource cmdlet modifies an existing Azure resource. Specify a resource to modify by name and type or by ID.

Examples

Example 1: Modify a resource

$Resource = Get-AzResource -ResourceType Microsoft.Web/sites -ResourceGroupName ResourceGroup11 -ResourceName ContosoSite
$Resource.Properties.Enabled = "False"
$Resource | Set-AzResource -Force

The first command gets the resource named ContosoSite by using the Get-AzResource cmdlet, and then stores it in the $Resource variable. The second command modifies a property of $Resource. The final command updates the resource to match $Resource.

Example 2: Modify all resources in a given resource group

$Resource = Get-AzResource -ResourceGroupName testrg
$Resource | ForEach-Object { $_.Tags.Add("testkey", "testval") }
$Resource | Set-AzResource -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}

The first command gets the resources in the testrg resource group, and then stores them in the $Resource variable.

The second command iterates over each of these resources in the resource group and adds a new tag to them.

The final command updates each of these resources.

Parameters

-ApiVersion

Specifies the version of the resource provider API to use. If you do not specify a version, this cmdlet uses the latest available version.

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

-AsJob

Run cmdlet in the background

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

-Confirm

Prompts you for confirmation before running the cmdlet.

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

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure

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

-ExtensionResourceName

Specifies the name of an extension resource for the resource. For instance, to specify a database, use the following format: server name/database name

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

-ExtensionResourceType

Specifies the resource type for an extension resource. For instance, if the extension resource is a database specify the following: Microsoft.Sql/Servers/Databases

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

-Force

Forces the command to run without asking for user confirmation.

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

-InputObject

The object representation of the resource to update.

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

-Kind

Specifies the resource kind for the resource.

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

-ODataQuery

Specifies an Open Data Protocol (OData) style filter. This cmdlet appends this value to the request in addition to any other filters.

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

-Plan

Specifies resource plan properties, as a hash table, for the resource.

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

-Pre

Indicates that this cmdlet considers pre-release API versions when it automatically determines which version to use.

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

-Properties

Specifies resource properties for the resource.

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

-ResourceGroupName

Specifies the name of the resource group where this cmdlet modifies the resource.

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

-ResourceId

Specifies the fully qualified resource ID, including the subscription, as in the following example: /subscriptions/subscription ID/providers/Microsoft.Sql/servers/ContosoServer/databases/ContosoDatabase

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

-ResourceName

Specifies the name of the resource. For instance, to specify a database, use the following format: ContosoServer/ContosoDatabase

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

-ResourceType

Specifies the type of the resource. For instance, for a database, the resource type is as follows: Microsoft.Sql/Servers/Databases

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

-Sku

Specifies the SKU object of the resource as a hash table.

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

-Tag

Key-value pairs in the form of a hash table. For example: @{key0="value0";key1=$null;key2="value2"}

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

-TenantLevel

Indicates that this cmdlet operates at the tenant level.

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

-UsePatchSemantics

Indicates that this cmdlet uses an HTTP PATCH to update the object, instead of an HTTP PUT.

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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

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

Inputs

PSResource

String

PSObject

Hashtable

Outputs

PSObject