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