Share via


New-CMDetectionClauseRegistryKeyValue

Crie uma cláusula de método de detecção para um valor de chave do 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 criar uma cláusula em um método de detecção em um aplicativo. Esta cláusula é uma regra para um valor de chave do Registro indicar a presença de um aplicativo.

Para detectar a existência de uma chave do Registro em vez de um valor, use o cmdlet New-CMDetectionClauseRegistryKey.

Depois de usar esse cmdlet, use um dos cmdlets Add- or Set- para tipos de implantação. Passe esse objeto de cláusula de detecção para os parâmetros AddDetectionClause ou RemoveDetectionClause.

Para agrupar cláusulas de detecção, use o parâmetro GroupDetectionClauses nos cmdlets de tipo de implantação.

Observação

Execute cmdlets do Configuration Manager na unidade de site do Configuration Manager, por PS XYZ:\> exemplo. Para obter mais informações, consulte getting started.

Exemplos

Exemplo 1: Detectar a existência de um valor do Registro

Este exemplo cria uma cláusula para detectar a existência do Git para Windows valor de versão atual.

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

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

Exemplo 2: Comparar um valor de versão no Registro

Este exemplo cria uma cláusula para comparar a versão do Microsoft 365 no Registro para ser maior ou igual a 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 caracteres curinga como valores literais de caracteres. Não é possível combiná-lo com ForceWildcardHandling.

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

-Existence

Quando você adiciona esse parâmetro, o valor da chave do Registro deve existir no sistema de destino para indicar a presença desse aplicativo.

Em vez de apenas existir, para avaliar uma regra para os dados desse valor de chave do Registro, use o parâmetro Value.

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

-ExpectedValue

Ao adicionar o parâmetro Value, use ExpectedValue com PropertyType e ExpressionOperator. Quando você usa esses parâmetros, o valor da chave do Registro deve atender à regra para indicar a presença desse aplicativo. Este parâmetro ExpectedValue especifica o valor a ser comparado ao valor da chave do Registro.

O valor a ser comparado depende do PropertyType especificado.

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

-ExpressionOperator

Ao adicionar o parâmetro Value, use ExpressionOperator com PropertyType e ExpectedValue. Quando você usa esses parâmetros, o valor da chave do Registro deve atender à regra para indicar a presença desse aplicativo. Este parâmetro ExpressionOperator especifica o operador para comparar o valor da chave do Registro com o valor esperado.

A partir da versão 2010, o tipo de parâmetro foi alterado de RuleExpressionOperator para 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

Esse parâmetro processa caracteres curinga e pode levar a um comportamento inesperado (não recomendado). Não é possível combiná-lo com DisableWildcardHandling.

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

-Hive

Especifique o hive do Registro onde a chave existe. Use o parâmetro KeyName para especificar o nome da chave. Use o parâmetro ValueName para especificar o valor da chave do Registro.

Por exemplo, o seguinte comando do PowerShell se traduz nos seguintes 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

Adicione esse parâmetro para indicar que essa chave do Registro está associada a um aplicativo de 32 bits em sistemas de 64 bits.

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

-KeyName

Especifique o nome da chave do Registro que deve existir para indicar a presença deste aplicativo. Use o parâmetro Hive para especificar o hive do Registro onde essa chave deve existir. Use o parâmetro ValueName para especificar o valor da chave do Registro.

Por exemplo, o seguinte comando do PowerShell se traduz nos seguintes 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

Ao adicionar o parâmetro Value, use PropertyType com ExpressionOperator e ExpectedValue. Quando você usa esses parâmetros, o valor da chave do Registro deve atender à regra para indicar a presença desse aplicativo. Este parâmetro PropertyType especifica o tipo de dados do valor da chave do Registro.

Por exemplo, você definir esse parâmetro como Version , definir ExpressionOperator como IsEquals e ExpectedValue como 1.48.1.0 . Em seguida, a regra verifica o valor da chave do Registro especificado para ter a mesma versão.

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

-Value

Quando você adiciona o parâmetro Value, o valor da chave do Registro deve atender à regra para indicar a presença desse aplicativo. Use este parâmetro com os seguintes parâmetros: ExpectedValue, ExpressionOperatore PropertyType.

Em vez de avaliar uma regra, para apenas verificar se o valor da chave do Registro existe, use o parâmetro Existence.

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

-ValueName

Especifique o valor da chave do Registro que indica a presença do aplicativo. Use o parâmetro Hive para especificar o hive do Registro e KeyName para especificar a chave do Registro.

Por exemplo, o seguinte comando do PowerShell se traduz nos seguintes 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

Nenhum

Saídas

System.Object