Поделиться через


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:\>. Дополнительные сведения см. в статье Начало работы.

Примеры

Пример 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

Параметры

-DisableWildcardHandling

Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Existence

При добавлении этого параметра значение раздела реестра должно существовать в целевой системе, чтобы указать на наличие этого приложения.

Вместо того чтобы просто существовать, чтобы оценить правило для данных этого значения раздела реестра, используйте параметр Value .

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ExpectedValue

При добавлении параметра Value используйте ExpectedValue с PropertyType и ExpressionOperator. При использовании этих параметров значение раздела реестра должно соответствовать правилу, чтобы указать на наличие этого приложения. Этот параметр ExpectedValue задает значение для сравнения со значением раздела реестра.

Сравниваемое значение зависит от указанного PropertyType.

Тип:String[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ExpressionOperator

При добавлении параметра Value используйте ExpressionOperator с PropertyType и ExpectedValue. При использовании этих параметров значение раздела реестра должно соответствовать правилу, чтобы указать на наличие этого приложения. Этот параметр 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
Aliases:RegistryHive
Допустимые значения:ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Is64Bit

Добавьте этот параметр, чтобы указать, что этот раздел реестра связан с 32-разрядным приложением в 64-разрядных системах.

Тип: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
Aliases:RegistryKey
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PropertyType

При добавлении параметра Value используйте PropertyType с ExpressionOperator и ExpectedValue. При использовании этих параметров значение раздела реестра должно соответствовать правилу, чтобы указать на наличие этого приложения. Этот параметр PropertyType указывает тип данных значения раздела реестра.

Например, для этого параметра задается значение Version, для ExpressionOperator — значение IsEquals, а для Параметра ExpectedValue — значение 1.48.1.0. Затем правило проверяет указанное значение раздела реестра на наличие той же версии.

Тип:SettingDataType
Допустимые значения:Version, Integer, String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Value

При добавлении параметра Value значение раздела реестра должно соответствовать правилу, чтобы указать на наличие этого приложения. Используйте этот параметр со следующими параметрами: ExpectedValue, ExpressionOperator и PropertyType.

Вместо того чтобы оценивать правило, чтобы просто проверить, существует ли значение раздела реестра, используйте параметр Existence .

Тип:SwitchParameter
Aliases: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
Aliases:RegistryValueName
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Выходные данные

System.Object