App Settings

App Settings Enumerations

IncludedItemValueType

Used by New-LiquitAppSettingIncludedItem and Set-LiquitAppSettingIncludedItem.

Value Description
FolderTree Captures all sub-folders and files recursively under the specified folder.
Folder Captures all files within the specified folder (non-recursive).
File Captures a single file.
RegistryTree Captures a registry key and all sub-keys and values within it (recursive).
RegistryKey Captures a registry key and the values directly within it (non-recursive).
RegistryValue Captures a single registry value.

ExcludedItemValueType

Used by New-LiquitAppSettingExcludedItem and Set-LiquitAppSettingExcludedItem.

Value Description
Folder Excludes a specific folder and all files within it.
File Excludes a specific file.
FileExtension Excludes all files with a specific extension (e.g. tmp).
RegistryKey Excludes a registry key and all values within it.
RegistryValue Excludes a specific registry value.


Get-LiquitAppSetting

This command retrieves one or more AppSettings from the server.

Syntax

# Return all AppSettings
Get-LiquitAppSetting

# Return a single AppSetting by ID
Get-LiquitAppSetting [-ID] <Guid>

# Return AppSettings matching a full-text search
Get-LiquitAppSetting [-Search] <string>

# Return AppSettings whose name matches a wildcard pattern
Get-LiquitAppSetting [-Name] <string>

Parameters

Parameter Type Position Mandatory Pipeline Description
ID Guid 0 No Yes (ByValue) Returns the single AppSetting with this ID.
Search string 0 No No Full-text search across AppSetting fields.
Name string 0 No No Filters by name. Supports * and ? wildcards.

ID, Search, and Name are mutually exclusive parameter sets. Calling without any parameter returns all AppSettings.

Output: AppSetting[]

Examples

# Get all
Get-LiquitAppSetting

# By ID
Get-LiquitAppSetting -ID 'a1b2c3d4-...'

# Wildcard name filter
Get-LiquitAppSetting -Name 'Outlook*'

# Full-text search
Get-LiquitAppSetting -Search 'Office'


New-LiquitAppSetting

This command creates a new App Setting.

Syntax

New-LiquitAppSetting [-Name] <string> [[-Enabled] <bool>] [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Default Description
Name string 0 Yes — Display name for the AppSetting.
Enabled bool 1 No $true Whether the AppSetting is active.

Output: AppSetting

Supports: -WhatIf, -Confirm

Examples

# Minimal creation
New-LiquitAppSetting -Name 'Outlook Settings'

# Created but disabled
New-LiquitAppSetting -Name 'Outlook Settings' -Enabled $false


Set-LiquitAppSetting

Modifies an existing AppSetting. Only the properties you specify are changed.

Syntax

# Via pipeline / entity object
Set-LiquitAppSetting [-AppSetting] <AppSetting> [-Name <string>] [-Enabled <bool>] [-WhatIf] [-Confirm]

# Via GUID
Set-LiquitAppSetting [-ID] <Guid> [-Name <string>] [-Enabled <bool>] [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Pipeline Description
AppSetting AppSetting 0 Yes (set byParentEntity) Yes (ByValue) The AppSetting object to modify.
ID Guid 0 Yes (set byParentId) Yes (ByValue) ID of the AppSetting to modify.
Name string — No No New display name.
Enabled bool — No No New enabled state.

If no modifiable parameter (Name, Enabled) is provided, the cmdlet does nothing and returns no output.

Output: AppSetting

Supports: -WhatIf, -Confirm

Examples

# Rename via pipeline
Get-LiquitAppSetting -Name 'Outlook Settings' | Set-LiquitAppSetting -Name 'Outlook 365'

# Disable by ID
Set-LiquitAppSetting -ID 'a1b2c3d4-...' -Enabled $false

# Rename and enable in one call
Set-LiquitAppSetting -AppSetting $setting -Name 'Office Suite' -Enabled $true


Remove-LiquitAppSetting

Permanently deletes an App Setting and all its Included / Excluded Items.

Syntax

# Via pipeline / entity object
Remove-LiquitAppSetting [-AppSetting] <AppSetting> [-WhatIf] [-Confirm]

# Via GUID
Remove-LiquitAppSetting [-ID] <Guid> [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Pipeline Description
AppSetting AppSetting 0 Yes (set byParentEntity) Yes (ByValue) The AppSetting object to delete.
ID Guid 0 Yes (set byParentId) Yes (ByValue) ID of the AppSetting to delete.

Output: None

Supports: -WhatIf, -Confirm

Examples

# Delete by entity (pipeline)
Get-LiquitAppSetting -Name 'Outlook Settings' | Remove-LiquitAppSetting -Confirm:$false

# Delete by ID
Remove-LiquitAppSetting -ID 'a1b2c3d4-...'


New-LiquitAppSettingIncludedItem

Adds an Included Item to an existing App Setting. An Included Item defines a specific file system or registry location to capture as part of an App Setting. It is always a child of an AppSetting.

Syntax

# Via parent entity
New-LiquitAppSettingIncludedItem
    [-Parent] <AppSetting>
    -Name <string>
    -ValueType <IncludedItemValueType>
    -Root <string>
    -Value <string>
    [-Enabled <bool>]
    [-CleanBeforeRestore <bool>]
    [-WhatIf] [-Confirm]

# Via parent ID
New-LiquitAppSettingIncludedItem
    [-ID] <Guid>
    -Name <string>
    -ValueType <IncludedItemValueType>
    -Root <string>
    -Value <string>
    [-Enabled <bool>]
    [-CleanBeforeRestore <bool>]
    [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Default Description
Parent AppSetting 0 Yes (set byParentEntity) — The parent AppSetting object.
ID Guid 0 Yes (set byParentId) — ID of the parent AppSetting.
Name string — Yes — Display name for this included item.
ValueType IncludedItemValueType — Yes — What kind of location this item represents. See IncludedItemValueType.
Root string — Yes — Base path. For file-system items this is a folder path (e.g. C:\Users\%USERNAME%\AppData). For registry items this is a hive + key path (e.g. HKCU\Software\MyApp). A trailing \ is stripped automatically.
Value string — Yes — Path or name relative to Root. A leading \ is stripped automatically.
Enabled bool — No $true Whether this included item is active.
CleanBeforeRestore bool — No $true When $true, the destination is cleared before the captured content is restored.

Output: AppSettingIncludedItem

Supports: -WhatIf, -Confirm

Examples

# Capture a single file
$setting = Get-LiquitAppSetting -Name 'Outlook Settings'
New-LiquitAppSettingIncludedItem `
    -Parent    $setting `
    -Name      'Outlook Profile' `
    -ValueType File `
    -Root      'C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Outlook' `
    -Value     'Outlook.xml'

# Capture a registry tree
New-LiquitAppSettingIncludedItem `
    -Parent    $setting `
    -Name      'Outlook Registry' `
    -ValueType RegistryTree `
    -Root      'HKCU\Software\Microsoft\Office' `
    -Value     '16.0\Outlook'


Set-LiquitAppSettingIncludedItem

Modifies one or all Included Items under an AppSetting. Only specified properties are changed.

Syntax

Set-LiquitAppSettingIncludedItem
    [-Parent] <AppSetting>
    [-IncludedItemIndex <int>]
    [-Name <string>]
    [-Enabled <bool>]
    [-ValueType <IncludedItemValueType>]
    [-Root <string>]
    [-Value <string>]
    [-CleanBeforeRestore <bool>]
    [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Description
Parent AppSetting 0 Yes The parent AppSetting whose Included Items to modify. Accepts pipeline input.
IncludedItemIndex int — No Zero-based index of the specific Included Item to patch. If omitted, all Included Items under the parent are updated. Must be ≥ 0.
Name string — No New display name.
Enabled bool — No New enabled state.
ValueType IncludedItemValueType — No New value type.
Root string — No New root path. Trailing \ is stripped automatically.
Value string — No New relative path/name. Leading \ is stripped automatically.
CleanBeforeRestore bool — No New clean-before-restore flag.

If IncludedItemIndex is out of range, a non-terminating error is written and no changes are made.

If no modifiable parameter is provided, the cmdlet does nothing and returns no output.

Output: AppSettingIncludedItem

Supports: -WhatIf, -Confirm

Examples

# Disable the first included item
$setting = Get-LiquitAppSetting -Name 'Outlook Settings'
Set-LiquitAppSettingIncludedItem -Parent $setting -IncludedItemIndex 0 -Enabled $false

# Update the Root path for all included items
Set-LiquitAppSettingIncludedItem -Parent $setting -Root 'D:\Profiles\%USERNAME%'


Remove-LiquitAppSettingIncludedItem

Removes all Included Items from an App Setting.

Syntax

# Via parent AppSetting entity
Remove-LiquitAppSettingIncludedItem [-Parent] <AppSetting> [-WhatIf] [-Confirm]

# Via parent AppSetting ID
Remove-LiquitAppSettingIncludedItem [-ID] <Guid> [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Pipeline Description
Parent AppSetting 0 Yes (set byParentEntity) Yes (ByValue) The AppSetting whose Included Items to remove.
ID Guid 0 Yes (set byParentId) Yes (ByValue) ID of the parent AppSetting.

Output: None

Supports: -WhatIf, -Confirm

Examples

$setting = Get-LiquitAppSetting -Name 'Outlook Settings'
Remove-LiquitAppSettingIncludedItem -Parent $setting -Confirm:$false


New-LiquitAppSettingExcludedItem

Adds an Excluded Item to an existing Included Item. An Excluded Item defines a sub-path or sub-key within an Included Item that should be skipped during capture. It is always a child of an AppSettingIncludedItem.

Syntax

# Via parent IncludedItem entity
New-LiquitAppSettingExcludedItem
    [-Parent] <AppSettingIncludedItem>
    -Name <string>
    -ValueType <ExcludedItemValueType>
    -Value <string>
    [-WhatIf] [-Confirm]

# Via parent IncludedItem ID
New-LiquitAppSettingExcludedItem
    [-ID] <Guid>
    -Name <string>
    -ValueType <ExcludedItemValueType>
    -Value <string>
    [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Description
Parent AppSettingIncludedItem 0 Yes (set byParentEntity) The Included Item to add an exclusion to.
ID Guid 0 Yes (set byParentId) ID of the parent Included Item.
Name string — Yes Display name for this excluded item.
ValueType ExcludedItemValueType — Yes Type of location to exclude. See ExcludedItemValueType.
Value string — Yes Path, filename, extension, or registry key/value name to exclude, relative to the parent Included Item's Root. A leading \ is stripped automatically.

Output: AppSettingExcludedItem

Supports: -WhatIf, -Confirm

Examples

# Exclude a temporary folder under an already-created included item
$setting      = Get-LiquitAppSetting -Name 'Outlook Settings'
$includedItem = $setting.IncludedItems[0]

New-LiquitAppSettingExcludedItem `
    -Parent    $includedItem `
    -Name      'Exclude Temp' `
    -ValueType Folder `
    -Value     'Temp'

# Exclude all .log files
New-LiquitAppSettingExcludedItem `
    -Parent    $includedItem `
    -Name      'Exclude Logs' `
    -ValueType FileExtension `
    -Value     'log'


Set-LiquitAppSettingExcludedItem

Modifies one or all Excluded Items under an Included Item. Only specified properties are changed.

Syntax

Set-LiquitAppSettingExcludedItem
    [-Parent] <AppSettingIncludedItem>
    [-ExcludedItemIndex <int>]
    [-Name <string>]
    [-Value <string>]
    [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Description
Parent AppSettingIncludedItem 0 Yes The parent Included Item. Accepts pipeline input.
ExcludedItemIndex int — No Zero-based index of the specific Excluded Item to patch. If omitted, all Excluded Items are updated. Must be ≥ 0.
Name string — No New display name.
Value string — No New exclusion path or name. Leading \ is stripped automatically.

If ExcludedItemIndex is out of range, a non-terminating error is written and no changes are made.

If no modifiable parameter is provided, the cmdlet does nothing and returns no output.

Output: AppSettingExcludedItem

Supports: -WhatIf, -Confirm

Examples

$setting      = Get-LiquitAppSetting -Name 'Outlook Settings'
$includedItem = $setting.IncludedItems[0]

# Rename the first excluded item
Set-LiquitAppSettingExcludedItem `
    -Parent             $includedItem `
    -ExcludedItemIndex  0 `
    -Name               'Exclude Cache'

# Change the exclusion path for all excluded items
Set-LiquitAppSettingExcludedItem -Parent $includedItem -Value 'Cache'


Remove-LiquitAppSettingExcludedItem

Removes an Excluded Item from an item included in an App Setting.

Syntax

# Via parent IncludedItem entity
Remove-LiquitAppSettingExcludedItem [-Parent] <AppSettingIncludedItem> [-WhatIf] [-Confirm]

# Via parent IncludedItem ID
Remove-LiquitAppSettingExcludedItem [-ID] <Guid> [-WhatIf] [-Confirm]

Parameters

Parameter Type Position Mandatory Pipeline Description
Parent AppSettingIncludedItem 0 Yes (set byParentEntity) Yes (ByValue) The Included Item whose Excluded Items to remove.
ID Guid 0 Yes (set byParentId) Yes (ByValue) ID of the parent Included Item.

Output: None

Supports: -WhatIf, -Confirm

Examples

$setting      = Get-LiquitAppSetting -Name 'Outlook Settings'
$includedItem = $setting.IncludedItems[0]
Remove-LiquitAppSettingExcludedItem -Parent $includedItem -Confirm:$false