New-CMDetectionClauseRegistryKeyValue
レジストリ キー値の検出方法句を作成します。
構文
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>]
説明
このコマンドレットを使用して、アプリケーションの検出方法で句を作成します。 この句は、アプリケーションの存在を示すレジストリ キー値のルールです。
値の代わりにレジストリ キーの存在を検出するには 、New-CMDetectionClauseRegistryKey コマンドレットを使用 します。
このコマンドレットを使用した後、展開の種類に 対して、Add コマンドレット または Set- コマンドレットのいずれかを使用します。 この検出句オブジェクトを AddDetectionClause パラメーターまたは RemoveDetectionClause パラメーターに渡 します。
検出句をグループ化するには、展開の種類のコマンドレットで GroupDetectionClauses パラメーターを使用します。
注意
Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します PS XYZ:\> 。 詳細については 、「Getting started」を参照してください。
例
例 1: レジストリ値の存在を検出する
この例では、現在のバージョン値の Git の存在を検出するWindows作成します。
$regClause = New-CMDetectionClauseRegistryKeyValue -Hive LocalMachine -KeyName "SOFTWARE\GitForWindows" -PropertyType String -ValueName "CurrentVersion" -Existence
Set-CMMsiDeploymentType -ApplicationName "Git for Windows" -DeploymentTypeName "Install" -AddDetectionClause $regClause
例 2: レジストリのバージョン値を比較する
次の使用例は、レジストリ内のMicrosoft 365のバージョンを比較する句を作成します 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
パラメーター
このパラメーターは、ワイルドカード文字をリテラル文字値として扱います。 ForceWildcardHandling と組み合わせは使用できない。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターを追加する場合、このアプリケーションの存在を示すために、レジストリ キーの値がターゲット システムに存在している必要があります。
存在する代わりに、このレジストリ キー値のデータのルールを評価するには 、Value パラメーターを使用します。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Value パラメーターを追加する場合は 、ExpectedValue と PropertyTypeとExpressionOperator を使用します。 **** これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示すルールを満たす必要があります。 この ExpectedValue パラメーターは、レジストリ キー値と比較する値を指定します。
比較する値は、指定した PropertyType によって異なります。
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Value パラメーターを追加 する場合 は 、PropertyType と ExpectedValue を持つ ExpressionOperator を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示すルールを満たす必要があります。 この ExpressionOperator パラメーターは、レジストリ キー値と予想される値を比較する演算子を指定します。
バージョン 2010 から、パラメーターの種類が RuleExpressionOperator から 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 |
このパラメーターはワイルドカード文字を処理し、予期しない動作を引き起こします (推奨されません)。 DisableWildcardHandling と組み合わせは使用できない。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
キーが存在するレジストリ ハイブを指定します。 KeyName パラメーターを使用して、キー名を指定します。 レジストリ キー の値を指定するには、ValueName パラメーターを使用します。
たとえば、次の PowerShell コマンドは、次のパラメーター値に変換されます。
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion
| パラメーター | 値 |
|---|---|
| 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 |
このパラメーターを追加して、このレジストリ キーが 64 ビット システム上の 32 ビット アプリケーションに関連付けられているかどうかを示します。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このアプリケーションの存在を示すために存在する必要があるレジストリ キーの名前を指定します。 Hive パラメーター を使用 して、このキーが存在するレジストリ ハイブを指定します。 レジストリ キー の値を指定するには、ValueName パラメーターを使用します。
たとえば、次の PowerShell コマンドは、次のパラメーター値に変換されます。
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' |Select-Object CurrentVersion
| パラメーター | 値 |
|---|---|
| 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 |
Value パラメーターを追加 する場合 は 、ExpressionOperator と ExpectedValue で PropertyType を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示すルールを満たす必要があります。 この PropertyType パラメーターは、レジストリ キー値のデータ型を指定します。
たとえば、このパラメーターをに設定し Version 、ExpressionOperator を 、および IsEquals ExpectedValue に設定します 1.48.1.0 。 次に、指定したレジストリ キーの値が同じバージョンに設定されているのをチェックします。
| Type: | SettingDataType |
| Accepted values: | Version, Integer, String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Value パラメーターを追加 する場合 、レジストリ キーの値は、このアプリケーションの存在を示すルールを満たす必要があります。 このパラメーターは 、ExpectedValue、ExpressionOperator、PropertyTypeのパラメーターと一緒に使用します。 ****
ルールを評価する代わりに、レジストリ キーの値が存在することを確認するには 、Exists パラメーターを使用します。
| Type: | SwitchParameter |
| Aliases: | ValueRule |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
アプリケーションの存在を示すレジストリ キーの値を指定します。 Hive パラメーター を使用 してレジストリ ハイブを指定し 、KeyName を使用してレジストリ キーを指定します。
たとえば、次の PowerShell コマンドは、次のパラメーター値に変換されます。
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' |Select-Object CurrentVersion
| パラメーター | 値 |
|---|---|
| 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 |
入力
なし
出力
System.Object