New-CMDetectionClauseRegistryKeyValue

Cree una cláusula de método de detección para un valor de clave del Registro.

Syntax

New-CMDetectionClauseRegistryKeyValue
   -ExpressionOperator <RegistryValueRuleExpressionOperator>
   -Hive <RegistryRootKey>
   [-Is64Bit]
   -KeyName <String>
   -PropertyType <SettingDataType>
   -ValueName <String>
   -ExpectedValue <String[]>
   [-Value]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
New-CMDetectionClauseRegistryKeyValue
   -Hive <RegistryRootKey>
   [-Is64Bit]
   -KeyName <String>
   -PropertyType <SettingDataType>
   -ValueName <String>
   [-Existence]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

Description

Use este cmdlet para crear una cláusula en un método de detección en una aplicación. Esta cláusula es una regla para un valor de clave del Registro que indica la presencia de una aplicación.

Para detectar la existencia de una clave del Registro en lugar de un valor, use el cmdlet New-CMDetectionClauseRegistryKey.

Después de usar este cmdlet, use uno de los cmdlets Add- o Set- para los tipos de implementación. Pase este objeto de cláusula de detección a los parámetros AddDetectionClause o RemoveDetectionClause.

Para agrupar cláusulas de detección, use el parámetro GroupDetectionClauses en los cmdlets de tipo de implementación.

Nota

Ejecute los cmdlets de Configuration Manager desde la unidad de sitio de Configuration Manager, por ejemplo PS XYZ:\> . Para obtener más información, vea getting started.

Ejemplos

Ejemplo 1: Detectar la existencia de un valor del Registro

En este ejemplo se crea una cláusula para detectar la existencia de Git para Windows valor de versión actual.

$regClause = New-CMDetectionClauseRegistryKeyValue -Hive LocalMachine -KeyName "SOFTWARE\GitForWindows" -PropertyType String -ValueName "CurrentVersion" -Existence

Set-CMMsiDeploymentType -ApplicationName "Git for Windows" -DeploymentTypeName "Install" -AddDetectionClause $regClause

Ejemplo 2: Comparar un valor de versión en el Registro

En este ejemplo se crea una cláusula para comparar la versión de Microsoft 365 en el Registro para que sea mayor o igual que 16.0.10730.20304 .

$clause = New-CMDetectionClauseRegistryKeyValue -Hive LocalMachine -KeyName 'Software\Microsoft\Office\ClickToRun\Configuration' -PropertyType Version -ValueName 'VersionToReport' -Value -ExpectedValue '16.0.10730.20304' -ExpressionOperator GreaterEquals

Set-CMMsiDeploymentType -ApplicationName "Microsoft 365" -DeploymentTypeName "Install" -AddDetectionClause $clause

Parámetros

-DisableWildcardHandling

Este parámetro trata los caracteres comodín como valores de caracteres literales. No se puede combinar con ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Existence

Al agregar este parámetro, el valor de clave del Registro debe existir en el sistema de destino para indicar la presencia de esta aplicación.

En lugar de simplemente existir, para evaluar una regla para los datos de este valor de clave del Registro, use el parámetro Value.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ExpectedValue

Al agregar el parámetro Value, use ExpectedValue con PropertyType y ExpressionOperator. Al usar estos parámetros, el valor de clave del Registro debe satisfacer la regla para indicar la presencia de esta aplicación. Este parámetro ExpectedValue especifica el valor que se debe comparar con el valor de clave del Registro.

El valor que se va a comparar depende del valor PropertyType especificado.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ExpressionOperator

Al agregar el parámetro Value, use ExpressionOperator con PropertyType y ExpectedValue. Al usar estos parámetros, el valor de clave del Registro debe satisfacer la regla para indicar la presencia de esta aplicación. Este parámetro ExpressionOperator especifica el operador para comparar el valor de clave del Registro con el valor esperado.

A partir de la versión 2010, el tipo de parámetro cambió de RuleExpressionOperator a RegistryValueRuleExpressionOperator.

Type:RegistryValueRuleExpressionOperator
Accepted values:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf, BeginsWith, NotBeginsWith, EndsWith, NotEndsWith, Contains, NotContains
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

Este parámetro procesa caracteres comodín y puede provocar un comportamiento inesperado (no recomendado). No se puede combinar con DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Hive

Especifique el subárbol del Registro donde existe la clave. Use el parámetro KeyName para especificar el nombre de clave. Use el parámetro ValueName para especificar el valor de clave del Registro.

Por ejemplo, el siguiente comando de PowerShell se traduce a los siguientes valores de parámetro:

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion

Parámetro Valor
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
Type:RegistryRootKey
Aliases:RegistryHive
Accepted values:ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Is64Bit

Agregue este parámetro para indicar que esta clave del Registro está asociada a una aplicación de 32 bits en sistemas de 64 bits.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-KeyName

Especifique el nombre de la clave del Registro que debe existir para indicar la presencia de esta aplicación. Use el parámetro Hive para especificar el subárbol del Registro donde debe existir esta clave. Use el parámetro ValueName para especificar el valor de clave del Registro.

Por ejemplo, el siguiente comando de PowerShell se traduce a los siguientes valores de parámetro:

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion

Parámetro Valor
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
Type:String
Aliases:RegistryKey
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-PropertyType

Al agregar el parámetro Value, use PropertyType con ExpressionOperator y ExpectedValue. Al usar estos parámetros, el valor de clave del Registro debe satisfacer la regla para indicar la presencia de esta aplicación. Este parámetro PropertyType especifica el tipo de datos del valor de clave del Registro.

Por ejemplo, este parámetro se establece en Version , establece ExpressionOperator en IsEquals , y ExpectedValue en 1.48.1.0 . A continuación, la regla comprueba que el valor de clave del Registro especificado tenga la misma versión.

Type:SettingDataType
Accepted values:Version, Integer, String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Value

Al agregar el parámetro Value, el valor de la clave del Registro debe satisfacer la regla para indicar la presencia de esta aplicación. Use este parámetro con los siguientes parámetros: ExpectedValue, ExpressionOperatory PropertyType.

En lugar de evaluar una regla, para comprobar que el valor de la clave del Registro existe, use el parámetro Existence.

Type:SwitchParameter
Aliases:ValueRule
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ValueName

Especifique el valor de clave del Registro que indica la presencia de la aplicación. Use el parámetro Hive para especificar el subárbol del Registro y KeyName para especificar la clave del Registro.

Por ejemplo, el siguiente comando de PowerShell se traduce a los siguientes valores de parámetro:

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion

Parámetro Valor
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
Type:String
Aliases:RegistryValueName
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Ninguno

Salidas

System.Object