다음을 통해 공유


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>]

Description

이 cmdlet을 사용하여 애플리케이션의 검색 메서드에 절을 만듭니다. 이 절은 애플리케이션의 존재를 나타내는 레지스트리 키 값에 대한 규칙입니다.

값 대신 레지스트리 키가 있는지 감지하려면 New-CMDetectionClauseRegistryKey cmdlet을 사용합니다.

이 cmdlet을 사용한 후 배포 유형에 추가 또는Set- cmdlet 중 하나를 사용합니다. 이 검색 절 개체를 AddDetectionClause 또는 RemoveDetectionClause 매개 변수에 전달합니다.

검색 절을 그룹화하려면 배포 유형 cmdlet에서 GroupDetectionClauses 매개 변수를 사용합니다.

참고

Configuration Manager 사이트 드라이브에서 Configuration Manager cmdlet을 실행합니다(예: PS XYZ:\>). 자세한 내용은 시작을 참조하세요.

예제

예제 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
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Existence

이 매개 변수를 추가하면 이 애플리케이션의 존재를 나타내려면 레지스트리 키 값이 대상 시스템에 있어야 합니다.

단순히 존재하는 대신 이 레지스트리 키 값의 데이터에 대한 규칙을 평가하려면 Value 매개 변수를 사용합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ExpectedValue

Value 매개 변수를 추가하면 PropertyTypeExpressionOperator와 함께 ExpectedValue를 사용합니다. 이러한 매개 변수를 사용하는 경우 레지스트리 키 값은 이 애플리케이션의 존재를 나타내는 규칙을 충족해야 합니다. 이 ExpectedValue 매개 변수는 레지스트리 키 값과 비교할 값을 지정합니다.

비교할 값은 지정된 PropertyType에 따라 달라집니다.

형식:String[]
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ExpressionOperator

Value 매개 변수를 추가하면 PropertyTypeExpectedValue와 함께 ExpressionOperator를 사용합니다. 이러한 매개 변수를 사용하는 경우 레지스트리 키 값은 이 애플리케이션의 존재를 나타내는 규칙을 충족해야 합니다. 이 ExpressionOperator 매개 변수는 레지스트리 키 값을 예상 값과 비교할 연산자를 지정합니다.

버전 2010부터 매개 변수 형식이 RuleExpressionOperator 에서 RegistryValueRuleExpressionOperator로 변경되었습니다.

형식:RegistryValueRuleExpressionOperator
허용되는 값:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf, BeginsWith, NotBeginsWith, EndsWith, NotEndsWith, Contains, NotContains
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ForceWildcardHandling

이 매개 변수는 와일드카드 문자를 처리하고 예기치 않은 동작(권장되지 않음)으로 이어질 수 있습니다. DisableWildcardHandling과 결합할 수 없습니다.

형식:SwitchParameter
Position:Named
Default value: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
별칭:RegistryHive
허용되는 값:ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Is64Bit

이 레지스트리 키가 64비트 시스템의 32비트 애플리케이션과 연결되어 있음을 나타내려면 이 매개 변수를 추가합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-KeyName

이 애플리케이션의 존재를 나타내기 위해 존재해야 하는 레지스트리 키의 이름을 지정합니다. Hive 매개 변수를 사용하여 이 키가 있어야 하는 레지스트리 하이브를 지정합니다. ValueName 매개 변수를 사용하여 레지스트리 키 값을 지정합니다.

예를 들어 다음 PowerShell 명령은 다음 매개 변수 값으로 변환됩니다.

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion

매개 변수
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
형식:String
별칭:RegistryKey
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PropertyType

Value 매개 변수를 추가하면 ExpressionOperatorExpectedValue와 함께 PropertyType을 사용합니다. 이러한 매개 변수를 사용하는 경우 레지스트리 키 값은 이 애플리케이션의 존재를 나타내는 규칙을 충족해야 합니다. 이 PropertyType 매개 변수는 레지스트리 키 값의 데이터 형식을 지정합니다.

예를 들어 이 매개 변수를 로 Version설정하고 ExpressionOperator를 로 설정하고 ExpectedValueIsEquals1.48.1.0설정합니다. 그런 다음 규칙은 지정된 레지스트리 키 값을 확인하여 동일한 버전을 갖도록 합니다.

형식:SettingDataType
허용되는 값:Version, Integer, String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Value

Value 매개 변수를 추가할 때 레지스트리 키 값은 이 애플리케이션의 존재를 나타내는 규칙을 충족해야 합니다. ExpectedValue, ExpressionOperatorPropertyType 매개 변수와 함께 이 매개 변수를 사용합니다.

규칙을 평가하는 대신 레지스트리 키 값이 있는지 확인하려면 Exist 매개 변수를 사용합니다.

형식:SwitchParameter
별칭:ValueRule
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ValueName

애플리케이션의 존재를 나타내는 레지스트리 키 값을 지정합니다. Hive 매개 변수를 사용하여 레지스트리 하이브를 지정하고 KeyName을 사용하여 레지스트리 키를 지정합니다.

예를 들어 다음 PowerShell 명령은 다음 매개 변수 값으로 변환됩니다.

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object CurrentVersion

매개 변수
Hive LocalMachine
KeyName 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
ValueName CurrentVersion
형식:String
별칭:RegistryValueName
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

None

출력

System.Object