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