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 パラメーターを追加するときは、PropertyTypeExpressionOperatorExpectedValue を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 この ExpectedValue パラメーターは、レジストリ キーの値と比較する値を指定します。

比較する値は、指定した PropertyType によって異なります。

型:String[]
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ExpressionOperator

Value パラメーターを追加するときは、PropertyTypeExpectedValueExpressionOperator を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 この 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 パラメーターを追加するときは、ExpressionOperatorExpectedValuePropertyType を使用します。 これらのパラメーターを使用する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 この PropertyType パラメーターは、レジストリ キー値のデータ型を指定します。

たとえば、このパラメーターを Version に設定し、 ExpressionOperatorIsEquals に、 ExpectedValue1.48.1.0 に設定します。 次に、指定したレジストリ キーの値が同じバージョンであることを確認します。

型:SettingDataType
指定可能な値:Version, Integer, String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Value

Value パラメーターを追加する場合、レジストリ キーの値は、このアプリケーションの存在を示す規則を満たす必要があります。 このパラメーターは、 ExpectedValueExpressionOperatorPropertyType の各パラメーターと共に使用します。

ルールを評価する代わりに、レジストリ キーの値が存在することを確認するには、 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