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 IsEquals
e 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