Test-RegistryValue
SYNOPSIS
Test if a registry value exists.
SYNTAX
Test-RegistryValue [-Key] <Object> [-Value] <Object> [[-SID] <String>] [-Wow6432Node] [<CommonParameters>]
DESCRIPTION
Checks a registry key path to see if it has a value with a given name. Can correctly handle cases where a value simply has an empty or null value.
EXAMPLES
EXAMPLE 1
Test-RegistryValue -Key 'HKLM:SYSTEM\CurrentControlSet\Control\Session Manager' -Value 'PendingFileRenameOperations'
PARAMETERS
-Key
Path of the registry key.
Type: Object
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False
-Value
Specify the registry key value to check the existence of.
Type: Object
Parameter Sets: (All)
Aliases:
Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SID
The security identifier (SID) for a user. Specifying this parameter will convert a HKEY_CURRENT_USER registry key to the HKEY_USERS$SID format.
Specify this parameter from the Invoke-HKCURegistrySettingsForAllUsers function to read/edit HKCU registry settings for all users on the system.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Wow6432Node
Specify this switch to check the 32-bit registry (Wow6432Node) on 64-bit systems.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
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.
INPUTS
System.String
Accepts a string value for the registry key path.
OUTPUTS
System.String
Returns $true if the registry value exists, $false if it does not.
NOTES
To test if registry key exists, use Test-Path function like so:
Test-Path -Path $Key -PathType 'Container'