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 パラメーターを使用します。
注:
PS XYZ:\>
など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。
例
例 1: レジストリ値の存在を検出する
この例では、Windows の現在のバージョン値に対する Git の存在を検出する句を作成します。
$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
パラメーター
-DisableWildcardHandling
このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Existence
このパラメーターを追加するときは、このアプリケーションの存在を示すために、ターゲット システムにレジストリ キーの値が存在する必要があります。
存在するだけではなく、このレジストリ キー値のデータのルールを評価するには、 Value パラメーターを使用します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ExpectedValue
Value パラメーターを追加するときは、PropertyType と ExpressionOperator で ExpectedValue を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 この ExpectedValue パラメーターは、レジストリ キーの値と比較する値を指定します。
比較する値は、指定した PropertyType によって異なります。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ExpressionOperator
Value パラメーターを追加するときは、PropertyType と ExpectedValue で ExpressionOperator を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 この ExpressionOperator パラメーターは、レジストリ キーの値と予想される値を比較する演算子を指定します。
バージョン 2010 以降、パラメーターの型が RuleExpressionOperator から RegistryValueRuleExpressionOperator に変更されました。
型: | RegistryValueRuleExpressionOperator |
指定可能な値: | IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf, BeginsWith, NotBeginsWith, EndsWith, NotEndsWith, Contains, NotContains |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ForceWildcardHandling
このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Hive
キーが存在するレジストリ ハイブを指定します。 KeyName パラメーターを使用して、キー名を指定します。 ValueName パラメーターを使用して、レジストリ キーの値を指定します。
たとえば、次の PowerShell コマンドは、次のパラメーター値に変換します。
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion
パラメーター | 値 |
---|---|
Hive | LocalMachine |
KeyName | 'SOFTWARE\Microsoft\Windows NT\CurrentVersion' |
ValueName | CurrentVersion |
型: | RegistryRootKey |
Aliases: | RegistryHive |
指定可能な値: | ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Is64Bit
このパラメーターを追加して、このレジストリ キーが 64 ビット システムの 32 ビット アプリケーションに関連付けられていることを示します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-KeyName
このアプリケーションの存在を示すために存在する必要があるレジストリ キーの名前を指定します。 Hive パラメーターを使用して、このキーが存在するレジストリ ハイブを指定します。 ValueName パラメーターを使用して、レジストリ キーの値を指定します。
たとえば、次の PowerShell コマンドは、次のパラメーター値に変換します。
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' |CurrentVersion の Select-Object
パラメーター | 値 |
---|---|
Hive | LocalMachine |
KeyName | 'SOFTWARE\Microsoft\Windows NT\CurrentVersion' |
ValueName | CurrentVersion |
型: | String |
Aliases: | RegistryKey |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PropertyType
Value パラメーターを追加するときは、ExpressionOperator と ExpectedValue で PropertyType を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 この PropertyType パラメーターは、レジストリ キー値のデータ型を指定します。
たとえば、このパラメーターを Version
に設定し、 ExpressionOperator を IsEquals
に、 ExpectedValue を 1.48.1.0
に設定します。 次に、指定したレジストリ キーの値が同じバージョンであることを確認します。
型: | SettingDataType |
指定可能な値: | Version, Integer, String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Value
Value パラメーターを追加する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 このパラメーターは、 ExpectedValue、 ExpressionOperator、 PropertyType の各パラメーターと共に使用します。
ルールを評価する代わりに、レジストリ キーの値が存在することを確認するには、 Exist パラメーターを使用します。
型: | SwitchParameter |
Aliases: | ValueRule |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ValueName
アプリケーションの存在を示すレジストリ キーの値を指定します。 Hive パラメーターを使用してレジストリ Hive を指定し、KeyName を使用してレジストリ キーを指定します。
たとえば、次の PowerShell コマンドは、次のパラメーター値に変換します。
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' |CurrentVersion の Select-Object
パラメーター | 値 |
---|---|
Hive | LocalMachine |
KeyName | 'SOFTWARE\Microsoft\Windows NT\CurrentVersion' |
ValueName | CurrentVersion |
型: | String |
Aliases: | RegistryValueName |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
System.Object