New-CMDetectionClauseRegistryKeyValue
Erstellen Sie eine Erkennungsmethodenklausel für einen Registrierungsschlüsselwert.
Syntax
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>]
Beschreibung
Verwenden Sie dieses Cmdlet, um eine -Klausel in einer Erkennungsmethode für eine Anwendung zu erstellen. Diese Klausel ist eine Regel für einen Registrierungsschlüsselwert, der das Vorhandensein einer Anwendung angibt.
Um das Vorhandensein eines Registrierungsschlüssels anstelle eines Werts zu erkennen, verwenden Sie das Cmdlet New-CMDetectionClauseRegistryKey .
Nachdem Sie dieses Cmdlet verwendet haben, verwenden Sie eines der Add- oder Set-Cmdlets für Bereitstellungstypen. Übergeben Sie dieses Erkennungsklauselobjekt entweder an die Parameter AddDetectionClause oder RemoveDetectionClause .
Verwenden Sie zum Gruppieren von Erkennungsklauseln den GroupDetectionClauses-Parameter für die Cmdlets des Bereitstellungstyps.
Hinweis
Führen Sie Configuration Manager-Cmdlets auf dem Configuration Manager-Standortlaufwerk aus, z. B PS XYZ:\>
. . Weitere Informationen finden Sie unter Erste Schritte.
Beispiele
Beispiel 1: Erkennen des Vorhandenseins eines Registrierungswerts
In diesem Beispiel wird eine -Klausel erstellt, um das Vorhandensein des aktuellen Versionswerts von Git für Windows zu erkennen.
$regClause = New-CMDetectionClauseRegistryKeyValue -Hive LocalMachine -KeyName "SOFTWARE\GitForWindows" -PropertyType String -ValueName "CurrentVersion" -Existence
Set-CMMsiDeploymentType -ApplicationName "Git for Windows" -DeploymentTypeName "Install" -AddDetectionClause $regClause
Beispiel 2: Vergleichen eines Versionswerts in der Registrierung
In diesem Beispiel wird eine -Klausel erstellt, um die Version von Microsoft 365 in der Registrierung so zu vergleichen, dass sie größer oder gleich ist 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
Parameter
-DisableWildcardHandling
Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Existence
Wenn Sie diesen Parameter hinzufügen, muss der Registrierungsschlüsselwert auf dem Zielsystem vorhanden sein, um das Vorhandensein dieser Anwendung anzuzeigen.
Verwenden Sie den Value-Parameter , um eine Regel für die Daten dieses Registrierungsschlüsselwerts auszuwerten.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ExpectedValue
Wenn Sie den Value-Parameter hinzufügen, verwenden Sie ExpectedValue mit PropertyType und ExpressionOperator. Wenn Sie diese Parameter verwenden, muss der Registrierungsschlüsselwert die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Dieser ExpectedValue-Parameter gibt den Wert an, der mit dem Registrierungsschlüsselwert verglichen werden soll.
Der zu vergleichende Wert hängt vom angegebenen PropertyType ab.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ExpressionOperator
Wenn Sie den Value-Parameter hinzufügen, verwenden Sie ExpressionOperator mit PropertyType und ExpectedValue. Wenn Sie diese Parameter verwenden, muss der Registrierungsschlüsselwert die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Dieser ExpressionOperator-Parameter gibt den Operator an, um den Registrierungsschlüsselwert mit dem erwarteten Wert zu vergleichen.
Ab Version 2010 wurde der Parametertyp von RuleExpressionOperator in RegistryValueRuleExpressionOperator geändert.
Typ: | RegistryValueRuleExpressionOperator |
Zulässige Werte: | IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf, BeginsWith, NotBeginsWith, EndsWith, NotEndsWith, Contains, NotContains |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ForceWildcardHandling
Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Hive
Geben Sie die Registrierungsstruktur an, in der der Schlüssel vorhanden ist. Verwenden Sie den KeyName-Parameter , um den Schlüsselnamen anzugeben. Verwenden Sie den ValueName-Parameter , um den Registrierungsschlüsselwert anzugeben.
Der folgende PowerShell-Befehl übersetzt beispielsweise die folgenden Parameterwerte:
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion
Parameter | Wert |
---|---|
Hive | LocalMachine |
KeyName | 'SOFTWARE\Microsoft\Windows NT\CurrentVersion' |
ValueName | CurrentVersion |
Typ: | RegistryRootKey |
Aliase: | RegistryHive |
Zulässige Werte: | ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Is64Bit
Fügen Sie diesen Parameter hinzu, um anzugeben, dass dieser Registrierungsschlüssel einer 32-Bit-Anwendung auf 64-Bit-Systemen zugeordnet ist.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-KeyName
Geben Sie den Namen des Registrierungsschlüssels an, der vorhanden sein muss, um das Vorhandensein dieser Anwendung anzugeben. Verwenden Sie den Hive-Parameter , um die Registrierungsstruktur anzugeben, in der dieser Schlüssel vorhanden sein soll. Verwenden Sie den ValueName-Parameter , um den Registrierungsschlüsselwert anzugeben.
Der folgende PowerShell-Befehl übersetzt beispielsweise die folgenden Parameterwerte:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | Select-Object CurrentVersion
Parameter | Wert |
---|---|
Hive | LocalMachine |
KeyName | 'SOFTWARE\Microsoft\Windows NT\CurrentVersion' |
ValueName | CurrentVersion |
Typ: | String |
Aliase: | RegistryKey |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PropertyType
Wenn Sie den Value-Parameter hinzufügen, verwenden Sie PropertyType mit ExpressionOperator und ExpectedValue. Wenn Sie diese Parameter verwenden, muss der Registrierungsschlüsselwert die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Dieser PropertyType-Parameter gibt den Datentyp des Registrierungsschlüsselwerts an.
Sie legen diesen Parameter z. B. auf Version
, ExpressionOperator auf IsEquals
und ExpectedValue auf 1.48.1.0
fest. Die Regel überprüft dann, ob der angegebene Registrierungsschlüsselwert dieselbe Version aufweist.
Typ: | SettingDataType |
Zulässige Werte: | Version, Integer, String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Value
Wenn Sie den Value-Parameter hinzufügen, muss der Registrierungsschlüsselwert die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Verwenden Sie diesen Parameter mit den folgenden Parametern: ExpectedValue, ExpressionOperator und PropertyType.
Anstatt eine Regel auszuwerten, um nur zu überprüfen, ob der Registrierungsschlüsselwert vorhanden ist, verwenden Sie den Parameter Existence .
Typ: | SwitchParameter |
Aliase: | ValueRule |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ValueName
Geben Sie den Registrierungsschlüsselwert an, der das Vorhandensein der Anwendung angibt. Verwenden Sie den Hive-Parameter , um die Registrierungsstruktur anzugeben, und KeyName , um den Registrierungsschlüssel anzugeben.
Der folgende PowerShell-Befehl übersetzt beispielsweise die folgenden Parameterwerte:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | Select-Object CurrentVersion
Parameter | Wert |
---|---|
Hive | LocalMachine |
KeyName | 'SOFTWARE\Microsoft\Windows NT\CurrentVersion' |
ValueName | CurrentVersion |
Typ: | String |
Aliase: | RegistryValueName |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Ausgaben
System.Object