text: ---
  external help file: Microsoft.PowerShell.Commands.Management.dll-Help.xml
  keywords: powershell,cmdlet
  Locale: en-US
  Module Name: Microsoft.PowerShell.Management
  ms.date: 5/14/2019
  online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.management/remove-itemproperty?view=powershell-7.1&WT.mc_id=ps-gethelp
  schema: 2.0.0
  title: Remove-ItemProperty
  ---
  # Remove-ItemProperty
  
  ## SYNOPSIS
  Deletes the property and its value from an item.
  
  ## SYNTAX
  
  ### Path (Default)
  
  ```
  Remove-ItemProperty [-Path] <String[]> [-Name] <String[]> [-Force] [-Filter <String>] [-Include <String[]>]
   [-Exclude <String[]>] [-Credential <PSCredential>] [-InformationAction <ActionPreference>]
   [-InformationVariable <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
  ```
  
  ### LiteralPath
  
  ```
  Remove-ItemProperty -LiteralPath <String[]> [-Name] <String[]> [-Force] [-Filter <String>]
   [-Include <String[]>] [-Exclude <String[]>] [-Credential <PSCredential>]
   [-WhatIf] [-Confirm] [<CommonParameters>]
  ```
  
  ## DESCRIPTION
  
  The `Remove-ItemProperty` cmdlet deletes a property and its value from an item.
  You can use it to delete registry values and the data that they store.
  
  ## EXAMPLES
  
  ### Example 1: Delete a registry value
  
  This command deletes the "SmpProperty" registry value, and its data, from the "SmpApplication"
  subkey of the `HKEY_LOCAL_MACHINE\Software` registry key.
  
  ```powershell
  Remove-ItemProperty -Path "HKLM:\Software\SmpApplication" -Name "SmpProperty"
  ```
  
  Because the command is issued from a file system drive (`PS C:\>`), it includes the fully qualified
  path of the "SmpApplication" subkey, including the drive, `HKLM:`, and the "Software" key.
  
  ### Example 2: Delete a registry value from the HKCU location
  
  These commands delete the "Options" registry value, and its data, from the "MyApp" subkey of
  "HKEY_CURRENT_USER\Software\MyCompany".
  
  ```
  PS C:\> Set-Location HKCU:\Software\MyCompany\MyApp
  PS HKCU:\Software\MyCompany\MyApp> Remove-ItemProperty -Path . -Name "Options" -Confirm
  ```
  
  The first command uses the `Set-Location` cmdlet to change the current location to the
  **HKEY_CURRENT_USER** drive (`HKCU:`) and the `Software\MyCompany\MyApp` subkey.
  
  The second command uses `Remove-ItemProperty` to remove the "Options" registry value, and its data,
  from the "MyApp" subkey. Because **Path** is required, the command uses a dot (`.`) to indicate the
  current location. The **Confirm** parameter requests a user prompt before deleting the value.
  
  ### Example 3: Remove a registry value by using the pipeline
  
  This command deletes the "NoOfEmployees" registry value, and its data, from the
  `HKLM\Software\MyCompany` registry key.
  
  ```powershell
  Get-Item -Path HKLM:\Software\MyCompany | Remove-ItemProperty -Name NoOfEmployees
  ```
  
  The command uses the `Get-Item` cmdlet to get an item that represents the registry key.
  It uses a pipeline operator (`|`) to send the object to `Remove-ItemProperty`.
  Then, it uses the **Name** parameter of `Remove-ItemProperty` to specify the name of the registry
  value.
  
  ## PARAMETERS
  
  ### -Credential
  
  > [!NOTE]
  > This parameter is not supported by any providers installed with PowerShell.
  > To impersonate another user, or elevate your credentials when running this cmdlet,
  > use [Invoke-Command](../Microsoft.PowerShell.Core/Invoke-Command.md).
  
  ```yaml
  Type: System.Management.Automation.PSCredential
  Parameter Sets: (All)
  Aliases:
  
  Required: False
  Position: Named
  Default value: Current user
  Accept pipeline input: True (ByPropertyName)
  Accept wildcard characters: False
  ```
  
  ### -Exclude
  
  Specifies, as a string array, an item or items that this cmdlet excludes in the operation. The value
  of this parameter qualifies the **Path** parameter. Enter a path element or pattern, such as
  `*.txt`. Wildcard characters are permitted. The **Exclude** parameter is effective only when the
  command includes the contents of an item, such as `C:\Windows\*`, where the wildcard character
  specifies the contents of the `C:\Windows` directory.
  
  ```yaml
  Type: System.String[]
  Parameter Sets: (All)
  Aliases:
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: False
  Accept wildcard characters: True
  ```
  
  ### -Filter
  
  Specifies a filter to qualify the **Path** parameter. The [FileSystem](../Microsoft.PowerShell.Core/About/about_FileSystem_Provider.md)
  provider is the only installed PowerShell provider that supports the use of filters. You can find
  the syntax for the **FileSystem** filter language in [about_Wildcards](../Microsoft.PowerShell.Core/About/about_Wildcards.md).
  Filters are more efficient than other parameters, because the provider applies them when the cmdlet
  gets the objects rather than having PowerShell filter the objects after they are retrieved.
  
  ```yaml
  Type: System.String
  Parameter Sets: (All)
  Aliases:
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: False
  Accept wildcard characters: True
  ```
  
  ### -Force
  
  Forces the cmdlet to remove a property of an object that cannot otherwise be accessed by the user.
  Implementation varies from provider to provider.
  For more information, see [about_Providers](../Microsoft.PowerShell.Core/About/about_Providers.md).
  
  ```yaml
  Type: System.Management.Automation.SwitchParameter
  Parameter Sets: (All)
  Aliases:
  
  Required: False
  Position: Named
  Default value: False
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### -Include
  
  Specifies, as a string array, an item or items that this cmdlet includes in the operation. The value
  of this parameter qualifies the **Path** parameter. Enter a path element or pattern, such as
  `"*.txt"`. Wildcard characters are permitted. The **Include** parameter is effective only when the
  command includes the contents of an item, such as `C:\Windows\*`, where the wildcard character
  specifies the contents of the `C:\Windows` directory.
  
  ```yaml
  Type: System.String[]
  Parameter Sets: (All)
  Aliases:
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: False
  Accept wildcard characters: True
  ```
  
  ### -LiteralPath
  
  Specifies a path to one or more locations. The value of **LiteralPath** is used exactly as it is
  typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose
  it in single quotation marks. Single quotation marks tell PowerShell not to interpret any characters
  as escape sequences.
  
  For more information, see [about_Quoting_Rules](../Microsoft.Powershell.Core/About/about_Quoting_Rules.md).
  
  ```yaml
  Type: System.String[]
  Parameter Sets: LiteralPath
  Aliases: PSPath, LP
  
  Required: True
  Position: Named
  Default value: None
  Accept pipeline input: True (ByPropertyName)
  Accept wildcard characters: False
  ```
  
  ### -Name
  
  Specifies the names of the properties to remove.
  Wildcard characters are permitted.
  
  ```yaml
  Type: System.String[]
  Parameter Sets: (All)
  Aliases: PSProperty
  
  Required: True
  Position: 1
  Default value: None
  Accept pipeline input: True (ByPropertyName)
  Accept wildcard characters: True
  ```
  
  ### -Path
  
  Specifies the path of the item whose properties are being removed.
  Wildcard characters are permitted.
  
  ```yaml
  Type: System.String[]
  Parameter Sets: Path
  Aliases:
  
  Required: True
  Position: 0
  Default value: None
  Accept pipeline input: True (ByPropertyName, ByValue)
  Accept wildcard characters: True
  ```
  
  ### -Confirm
  
  Prompts you for confirmation before running the cmdlet.
  
  ```yaml
  Type: System.Management.Automation.SwitchParameter
  Parameter Sets: (All)
  Aliases: cf
  
  Required: False
  Position: Named
  Default value: False
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### -WhatIf
  
  Shows what would happen if the cmdlet runs.
  The cmdlet is not run.
  
  ```yaml
  Type: System.Management.Automation.SwitchParameter
  Parameter Sets: (All)
  Aliases: wi
  
  Required: False
  Position: Named
  Default value: False
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### CommonParameters
  
  This cmdlet supports the common parameters: `-Debug`, `-ErrorAction`, `-ErrorVariable`,
  `-InformationAction`, `-InformationVariable`, `-OutVariable`, `-OutBuffer`, `-PipelineVariable`,
  `-Verbose`, `-WarningAction`, and `-WarningVariable`. For more information, see
  [about_CommonParameters](../Microsoft.PowerShell.Core/About/about_CommonParameters.md).
  
  ## INPUTS
  
  ### System.String
  
  You can pipe a string that contains a path, but not a literal path, to this cmdlet.
  
  ## OUTPUTS
  
  ### None
  
  This cmdlet does not return any output.
  
  ## NOTES
  
  - In the PowerShell Registry provider, registry values are considered to be properties of a registry
    key or subkey. You can use the **ItemProperty** cmdlets to manage these values.
  - `Remove-ItemProperty` is designed to work with the data exposed by any provider. To list the
    providers available in your session, type `Get-PSProvider`. For more information, see
    [about_Providers](../Microsoft.PowerShell.Core/About/about_Providers.md).
  
  ## RELATED LINKS
  
  [Get-Item](Get-Item.md)
  
  [Clear-ItemProperty](Clear-ItemProperty.md)
  
  [Copy-ItemProperty](Copy-ItemProperty.md)
  
  [Get-ItemProperty](Get-ItemProperty.md)
  
  [Move-ItemProperty](Move-ItemProperty.md)
  
  [New-ItemProperty](New-ItemProperty.md)
  
  [Remove-Item](Remove-Item.md)
  
  [Rename-ItemProperty](Rename-ItemProperty.md)
  
  [Set-ItemProperty](Set-ItemProperty.md)
  
  [Set-Location](Set-Location.md)
  
  [about_Providers](../Microsoft.PowerShell.Core/About/about_Providers.md)
  
  