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.

IDSearch, 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 (NameEnabled) 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