Change the value of an item.
Syntax Set-Item { [-path] string[] | [-literalPath] string[] } [[-value] Object] [-include string[]] [-exclude string[]] [-filter string] [-force] [-passThru] [-credential PSCredential] [-whatIf] [-confirm] [-UseTransaction] [CommonParameters] Key -Path string The path(s) to the items. Wildcards are permitted. Use a dot (.) to specify the current location. Use the wildcard (*) to specify all items in the current location. -LiteralPath string Like Path above, only the value is used exactly as typed. No characters are interpreted as wildcards. If the path includes any escape characters then enclose the path in single quotation marks. -Value Object A new value for the item. -include string Include only the specified items from the Path. e.g. "May*" this only works when the path includes a wildcard character. -Exclude string Omit the specified items from the Path. Enter a path element or pattern, such as "*.txt". Wildcards are permitted. -Filter string A filter in the provider's format or language. The exact syntax of the filter (wildcard support etc) depends on the provider. Filters are more efficient than -include/-exclude, because the provider applies the filter when retrieving the objects, rather than having PowerShell filter the objects after they are retrieved. -Option ScopedItemOptions Possible values include None,ReadOnly,Constant,AllScope and Private. (only valid when used with the Alias or Function provider) -Force Override restrictions that prevent the command from succeeding, apart from security settings. e.g. Force will create file path directories or override a files read-only attribute, but will not change file permissions. -PassThru Pass an object representing the item to the pipeline. -Credential PSCredential Use a credential to validate access to the file. Credential represents a user-name, such as "User64" or "Domain64\User64", or a PSCredential object, such as the one retrieved by using the Get-Credential cmdlet. If you type a user name, you will be prompted for a password. This parameter is not supported by any PowerShell core cmdlets or providers. -UseTransaction Include the command in the active transaction. CommonParameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, -OutBuffer -OutVariable.
Standard Aliases for Set-Item: si
Examples
Set the AllScope and ReadOnly options for the "prompt" function:
PS C:\> set-item -path function:prompt -options "AllScope,ReadOnly"
Create an alias of "np" for Notepad:
PS C:\> set-item -path alias:np -value c:\windows\notepad.exe
Change the value of the "UserRole" environment variable to "Administrator":
PS C:\> set-item -path env:UserRole -value Administrator
"More people are killed every year by pigs than by sharks, which shows just how good we are at evaluating risks" ~ Bruce Schneier
Related PowerShell Cmdlets:
Set-Content - Set content in an item (specific location).
Clear-item - Remove content from a variable or an alias.
Get-item - Return an object that represents an item in a namespace.
Invoke-item - Invoke an executable or open a file (START).
Move-item - Move an item from one location to another.
New-item - Create a new item in a namespace.
Remove-item - Remove an item.
Rename-item - Change the name of an existing item.
Equivalent bash command: builtin - Run a shell builtin.