New-CMDetectionClauseRegistryKeyValue

Creare una clausola del metodo di rilevamento per un valore di chiave del Registro di sistema.

Sintassi

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>]

Descrizione

Usare questo cmdlet per creare una clausola in un metodo di rilevamento in un'applicazione. Questa clausola è una regola per un valore di chiave del Registro di sistema che indica la presenza di un'applicazione.

Per rilevare l'esistenza di una chiave del Registro di sistema anziché di un valore, usare il cmdlet New-CMDetectionClauseRegistryKey .

Dopo aver usato questo cmdlet, usare uno dei cmdlet Add- o Set- per i tipi di distribuzione. Passare questo oggetto clausola di rilevamento ai parametri AddDetectionClause o RemoveDetectionClause .

Per raggruppare le clausole di rilevamento, usare il parametro GroupDetectionClauses nei cmdlet del tipo di distribuzione.

Nota

Eseguire i cmdlet di Configuration Manager dall'unità del sito di Configuration Manager, ad esempio PS XYZ:\>. Per altre informazioni, vedere Introduzione.

Esempio

Esempio 1: Rilevare l'esistenza di un valore del Registro di sistema

In questo esempio viene creata una clausola per rilevare l'esistenza del valore della versione corrente di Git per Windows.

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

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

Esempio 2: Confrontare un valore di versione nel Registro di sistema

In questo esempio viene creata una clausola per confrontare la versione di Microsoft 365 nel Registro di sistema in modo che sia maggiore o uguale 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

Parametri

-DisableWildcardHandling

Questo parametro considera i caratteri jolly come valori letterali. Non è possibile combinarlo con ForceWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Existence

Quando si aggiunge questo parametro, il valore della chiave del Registro di sistema deve esistere nel sistema di destinazione per indicare la presenza di questa applicazione.

Invece della sola esistenza, per valutare una regola per i dati di questo valore della chiave del Registro di sistema, usare il parametro Value .

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ExpectedValue

Quando si aggiunge il parametro Value , usare ExpectedValue con PropertyType e ExpressionOperator. Quando si usano questi parametri, il valore della chiave del Registro di sistema deve soddisfare la regola per indicare la presenza di questa applicazione. Questo parametro ExpectedValue specifica il valore da confrontare con il valore della chiave del Registro di sistema.

Il valore da confrontare dipende dall'oggetto PropertyType specificato.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ExpressionOperator

Quando si aggiunge il parametro Value , usare ExpressionOperator con PropertyType e ExpectedValue. Quando si usano questi parametri, il valore della chiave del Registro di sistema deve soddisfare la regola per indicare la presenza di questa applicazione. Questo parametro ExpressionOperator specifica l'operatore per confrontare il valore della chiave del Registro di sistema con il valore previsto.

A partire dalla versione 2010, il tipo di parametro è cambiato da RuleExpressionOperator a RegistryValueRuleExpressionOperator.

Tipo:RegistryValueRuleExpressionOperator
Valori accettati:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf, BeginsWith, NotBeginsWith, EndsWith, NotEndsWith, Contains, NotContains
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForceWildcardHandling

Questo parametro elabora caratteri jolly e può causare un comportamento imprevisto (non consigliato). Non è possibile combinarlo con DisableWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Hive

Specificare l'hive del Registro di sistema in cui è presente la chiave. Usare il parametro KeyName per specificare il nome della chiave. Usare il parametro ValueName per specificare il valore della chiave del Registro di sistema.

Ad esempio, il comando di PowerShell seguente si traduce nei valori dei parametri seguenti:

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

Parametro Valore
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
Tipo:RegistryRootKey
Alias:RegistryHive
Valori accettati:ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Is64Bit

Aggiungere questo parametro per indicare che questa chiave del Registro di sistema è associata a un'applicazione a 32 bit nei sistemi a 64 bit.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-KeyName

Specificare il nome della chiave del Registro di sistema che deve esistere per indicare la presenza di questa applicazione. Usare il parametro Hive per specificare l'hive del Registro di sistema in cui deve esistere questa chiave. Usare il parametro ValueName per specificare il valore della chiave del Registro di sistema.

Ad esempio, il comando di PowerShell seguente si traduce nei valori dei parametri seguenti:

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

Parametro Valore
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
Tipo:String
Alias:RegistryKey
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PropertyType

Quando si aggiunge il parametro Value , usare PropertyType con ExpressionOperator e ExpectedValue. Quando si usano questi parametri, il valore della chiave del Registro di sistema deve soddisfare la regola per indicare la presenza di questa applicazione. Questo parametro PropertyType specifica il tipo di dati del valore della chiave del Registro di sistema.

Ad esempio, si imposta questo parametro Versionsu , si imposta ExpressionOperator su IsEqualse ExpectedValue su 1.48.1.0. La regola controlla quindi che il valore della chiave del Registro di sistema specificato abbia la stessa versione.

Tipo:SettingDataType
Valori accettati:Version, Integer, String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Value

Quando si aggiunge il parametro Value , il valore della chiave del Registro di sistema deve soddisfare la regola per indicare la presenza di questa applicazione. Usare questo parametro con i parametri seguenti: ExpectedValue, ExpressionOperator e PropertyType.

Invece di valutare una regola, per verificare solo che il valore della chiave del Registro di sistema esista, usare il parametro Existence .

Tipo:SwitchParameter
Alias:ValueRule
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ValueName

Specificare il valore della chiave del Registro di sistema che indica la presenza dell'applicazione. Usare il parametro Hive per specificare l'hive del Registro di sistema e KeyName per specificare la chiave del Registro di sistema.

Ad esempio, il comando di PowerShell seguente si traduce nei valori dei parametri seguenti:

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

Parametro Valore
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
Tipo:String
Alias:RegistryValueName
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Output

System.Object