New-CMDetectionClauseRegistryKeyValue

Creare una clausola del metodo di rilevamento per un valore della 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

Utilizzare 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 per indicare la presenza di un'applicazione.

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

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

Per raggruppare le clausole di rilevamento, utilizzare 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 ulteriori 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 git per Windows versione corrente.

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

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 dell'applicazione.

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

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

-ExpectedValue

Quando si aggiunge il parametro Value, utilizzare ExpectedValue con PropertyType ed ExpressionOperator. Quando si utilizzano questi parametri, il valore della chiave del Registro di sistema deve soddisfare la regola per indicare la presenza di questa applicazione. Questo parametro ExpectedValue consente di specificare il valore da confrontare con il valore della chiave del Registro di sistema.

Il valore da confrontare dipende dall'oggetto PropertyType specificato.

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

-ExpressionOperator

Quando si aggiunge il parametro Value, utilizzare ExpressionOperator con PropertyType e ExpectedValue. Quando si utilizzano questi parametri, il valore della chiave del Registro di sistema deve soddisfare la regola per indicare la presenza di questa applicazione. Questo parametro ExpressionOperator consente di specificare 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.

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

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

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

-Hive

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

Ad esempio, il comando di PowerShell seguente viene tradotto nei valori di parametro seguenti:

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

Parametro Valore
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

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

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

-KeyName

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

Ad esempio, il comando di PowerShell seguente viene tradotto nei valori di parametro seguenti:

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

Parametro Valore
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

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

Ad esempio, impostare questo parametro su Version , impostare ExpressionOperator su IsEquals e ExpectedValue su 1.48.1.0 . La regola controlla quindi il valore della chiave del Registro di sistema specificato per avere la stessa versione.

Type:SettingDataType
Accepted values:Version, Integer, String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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. Utilizzare questo parametro con i parametri seguenti: ExpectedValue, ExpressionOperatore PropertyType.

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

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

-ValueName

Specificare il valore della chiave del Registro di sistema che indica la presenza dell'applicazione. Utilizzare 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 viene tradotto nei valori di parametro seguenti:

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

Parametro Valore
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

Input

Nessuno

Output

System.Object