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 Version
su , si imposta ExpressionOperator su IsEquals
e 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