Set-WebConfigurationProperty

Changes the value of an IIS configuration property.

Syntax

Set-WebConfigurationProperty
   -Name <String>
   -Value <PSObject>
   [-Clr <String>]
   [-AtElement <Hashtable>]
   [-AtIndex <Int32>]
   [-AtName <String>]
   [-Force]
   [-Location <String[]>]
   [-Filter] <String[]>
   [[-PSPath] <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WebConfigurationProperty
   -Name <String>
   -InputObject <Object>
   [-Clr <String>]
   [-AtElement <Hashtable>]
   [-AtIndex <Int32>]
   [-AtName <String>]
   [-Force]
   [-Location <String[]>]
   [-Filter] <String[]>
   [[-PSPath] <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-WebConfigurationProperty cmdlet changes the value of an Internet Information Services (IIS) configuration property. Specify the element as a configuration section or an XPath query. Globbing, or the use of wildcards, is supported.

Examples

Example 1: Change the extension of all handlers mapped to .aspx

IIS:\> Set-WebConfigurationProperty -Filter "//handlers/add[@path='*.aspx']" -PSPath "IIS:\" -Name "path" -Value "*.mspx"

This command changes all handler paths to *.mspx that were mapped to *.aspx.

Example 2: Set new bindings on an existing website

IIS:\> Set-WebConfigurationProperty -Filter '/system.applicationHost/sites/site[@name="DemoSite"]' -PSPath "IIS:\" -Name "Bindings" -Value (@{protocol="http";bindingInformation="*:80:DemoSite1"},@{protocol="http";bindingInformation="*:80:DemoSite2"})

This command sets new bindings on an existing website. The original bindings are replaced.

Parameters

-AtElement

Specifies the element at which this cmdlet sets the configuration property.

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

-AtIndex

Specifies the index at which this cmdlet sets the configuration property.

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

-AtName

Specifies the name of the collection property for which this cmdlet sets the value.

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

-Clr

Specifies the version of the .NET Framework in the form vn.n, such as v4.0 or v2.0. The default is v4.0. Specify this parameter only when the PSPath parameter is set to either Machine or Machine/Webroot. If PSPath is not set to one of these values and the Clr parameter is set, Windows PowerShell® ignores the value of Clr and returns a warning.

Type:String
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

-Filter

Specifies the IIS configuration section or an XPath query that returns a configuration element.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Force

Indicates that the cmdlet causes the configuration property setting to be set at a level in the configuration hierarchy above a lock in the configuration.

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

-InputObject

Specifies an input object that contains values to set for configuration properties.

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

-Location

Specifies the location of the configuration setting. Location tags are frequently used for configuration settings that must be set more precisely than per application or per virtual directory. For example, a setting for a particular file or directory could use a location tag. Location tags are also used if a particular section is locked. In such an instance, the configuration system would have to use a location tag in one of the parent configuration files.

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

-Name

Specifies the name of the configuration property to change.

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

-PSPath

Specifies the configuration path. This path can be either an IIS configuration path in the format computer name/webroot/apphost, or the IIS module path in this format IIS:\sites\Default Web Site.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Specifies the value of the configuration setting that this cmdlet changes.

Type:PSObject
Aliases:v, val
Position:Named
Default value:None
Required:True
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

PSObject

Outputs

PSObject