New-CMDetectionClauseRegistryKeyValue

Crie uma cláusula de método de deteção para um valor de chave de registo.

Sintaxe

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

Utilize este cmdlet para criar uma cláusula num método de deteção numa aplicação. Esta cláusula é uma regra para um valor de chave de registo para indicar a presença de uma aplicação.

Para detetar a existência de uma chave de registo em vez de um valor, utilize o cmdlet New-CMDetectionClauseRegistryKey .

Depois de utilizar este cmdlet, utilize um dos cmdlets Add- ou Set- para tipos de implementação. Transmita este objeto de cláusula de deteção para os parâmetros AddDetectionClause ou RemoveDetectionClause .

Para agrupar cláusulas de deteção, utilize o parâmetro GroupDetectionClauses nos cmdlets do tipo de implementação.

Observação

Execute cmdlets do Configuration Manager a partir da unidade do site do Configuration Manager, por exemplo PS XYZ:\>. Para obter mais informações, veja Introdução.

Exemplos

Exemplo 1: Detetar a existência de um valor de registo

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

$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 registo

Este exemplo cria uma cláusula para comparar a versão do Microsoft 365 no registo 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 os carateres universais como valores de carateres literais. Não pode combiná-lo com ForceWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Existence

Quando adiciona este parâmetro, o valor da chave de registo tem de existir no sistema de destino para indicar a presença desta aplicação.

Em vez de existir apenas, para avaliar uma regra para os dados deste valor de chave de registo, utilize o parâmetro Valor .

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ExpectedValue

Quando adicionar o parâmetro Value , utilize ExpectedValue com PropertyType e ExpressionOperator. Quando utiliza estes parâmetros, o valor da chave de registo tem de satisfazer a regra para indicar a presença desta aplicação. Este parâmetro ExpectedValue especifica o valor a comparar com o valor da chave de registo.

O valor a comparar depende do PropertyType especificado.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ExpressionOperator

Quando adicionar o parâmetro Value , utilize ExpressionOperator com PropertyType e ExpectedValue. Quando utiliza estes parâmetros, o valor da chave de registo tem de satisfazer a regra para indicar a presença desta aplicação. Este parâmetro ExpressionOperator especifica o operador para comparar o valor da chave de registo com o valor esperado.

A partir da versão 2010, o tipo de parâmetro mudou de RuleExpressionOperator para RegistryValueRuleExpressionOperator.

Tipo:RegistryValueRuleExpressionOperator
Valores aceitos:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf, BeginsWith, NotBeginsWith, EndsWith, NotEndsWith, Contains, NotContains
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ForceWildcardHandling

Este parâmetro processa carateres universais e pode levar a um comportamento inesperado (não recomendado). Não pode combiná-lo com DisableWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Hive

Especifique o ramo de registo onde a chave existe. Utilize o parâmetro KeyName para especificar o nome da chave. Utilize o parâmetro ValueName para especificar o valor da chave de registo.

Por exemplo, o seguinte comando do PowerShell traduz-se 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
Tipo:RegistryRootKey
Aliases:RegistryHive
Valores aceitos:ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Is64Bit

Adicione este parâmetro para indicar que esta chave de registo está associada a uma aplicação de 32 bits em sistemas de 64 bits.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-KeyName

Especifique o nome da chave de registo que tem de existir para indicar a presença desta aplicação. Utilize o parâmetro hive para especificar o ramo de registo onde esta chave deve existir. Utilize o parâmetro ValueName para especificar o valor da chave de registo.

Por exemplo, o seguinte comando do PowerShell traduz-se 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
Tipo:String
Aliases:RegistryKey
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PropertyType

Quando adicionar o parâmetro Value , utilize PropertyType com ExpressionOperator e ExpectedValue. Quando utiliza estes parâmetros, o valor da chave de registo tem de satisfazer a regra para indicar a presença desta aplicação. Este parâmetro PropertyType especifica o tipo de dados do valor da chave de registo.

Por exemplo, defina este parâmetro como Version, defina ExpressionOperator como IsEqualse ExpectedValue como 1.48.1.0. Em seguida, a regra verifica o valor da chave de registo especificada para ter a mesma versão.

Tipo:SettingDataType
Valores aceitos:Version, Integer, String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Value

Quando adiciona o parâmetro Valor , o valor da chave de registo tem de satisfazer a regra para indicar a presença desta aplicação. Utilize este parâmetro com os seguintes parâmetros: ExpectedValue, ExpressionOperator e PropertyType.

Em vez de avaliar uma regra, para verificar apenas se o valor da chave de registo existe, utilize o parâmetro Existência .

Tipo:SwitchParameter
Aliases:ValueRule
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ValueName

Especifique o valor da chave de registo que indica a presença da aplicação. Utilize o parâmetro Hive para especificar o ramo de registo e o KeyName para especificar a chave do registo.

Por exemplo, o seguinte comando do PowerShell traduz-se 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
Tipo:String
Aliases:RegistryValueName
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Saídas

System.Object