# $cs.CustomInventory_RemoveValue

> Removes a custom inventory value. Removes the instance when it has no values left, and the category when it has no instances left.

Source: https://docs.capaone.com/capainstaller/powerpacks/cs-custominventory-removevalue/  
Product: CapaInstaller — a separate CapaSystems product; do not apply this page to any other.

**CapaOne**

### Description

Removes a custom inventory value and updates the instance's `Last Updated`. Removes the instance when it has no values left, and the category when it has no instances left. Does nothing if the value doesn't exist. Windows-only.

For how custom inventory is stored in categories, instances and values, see [$cs.CustomInventory_SetValue](/capainstaller/powerpacks/cs-custominventory-setvalue/).

:::note[Collected only by CapaOne]
The function works on any Windows device, also under CapaInstaller, and removes the data from the registry under `HKLM\SOFTWARE\CapaSystems\CapaOneAgent\CustomInventory`. Only the CapaOne agent collects that data, so the removal reaches CapaOne with the agent's next hardware inventory. On a device without the CapaOne agent, only the registry changes.
:::

### Syntax

$cs.CustomInventory_RemoveValue(string category, string instance, string name)

### Parameters

#### category (String)

Name of the category, for example `Office`. Names aren't case-sensitive. Can't be empty or longer than 255 characters, and can only contain letters, digits, spaces and `-`: see [Names](/capainstaller/powerpacks/cs-custominventory-setvalue/#names).

#### instance (String)

Name of the instance in the category. Pass `""` for the instance `default`, which a category with only one instance uses. Same rules as `category`.

#### name (String)

Name of the value to remove. Can't be empty, `Instance` or `Last Updated`, and can only contain letters, digits, spaces and `-`: see [Names](/capainstaller/powerpacks/cs-custominventory-setvalue/#names).

### Return value

None. Throws an error if an argument isn't valid, for example an empty `name`.

### Example

**PowerShell**

```powershell
$cs.CustomInventory_RemoveValue('Office', '', 'Has Parking')
```

Removing a value that no longer applies, during `Uninstall`:

```powershell
$cs.CustomInventory_RemoveValue('Installed Applications', '7-Zip', 'Install Duration')
```

The equivalent of [CMS_RemoveCustomInventory](/capainstaller/vb-scripting-library/cms-functions/cms-removecustominventory/) for an entry written with [$cs.CustomInventory_SetValue](/capainstaller/powerpacks/cs-custominventory-setvalue/):

```powershell
CMS_RemoveCustomInventory -category 'Bitlocker' -entry 'TPM Chip - Enabled'
$cs.CustomInventory_RemoveValue('Bitlocker', '', 'TPM Chip - Enabled')
```

### Related functions

[$cs.CustomInventory_SetValue](/capainstaller/powerpacks/cs-custominventory-setvalue/) [$cs.CustomInventory_RemoveInstance](/capainstaller/powerpacks/cs-custominventory-removeinstance/) [$cs.CustomInventory_RemoveCategory](/capainstaller/powerpacks/cs-custominventory-removecategory/) [CMS_RemoveCustomInventory](/capainstaller/vb-scripting-library/cms-functions/cms-removecustominventory/)
