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>]
Описание
Используйте этот комлет, чтобы создать пункт в методе обнаружения в приложении. Этот пункт является правилом для ключевого значения реестра, которое указывает на наличие приложения.
Чтобы обнаружить наличие ключа реестра вместо значения, используйте cmdlet New-CMDetectionClauseRegistryKey.
После использования этого комлета используйте один **** из надстройки или set-cmdlet для типов развертывания. Передайте этот объект обнаружения либо параметрам AddDetectionClause, либо RemoveDetectionClause.
Для пунктов обнаружения групп используйте параметр GroupDetectionClauses в группах типа развертывания.
Примечание
Запустите команды диспетчера конфигурации из диска веб-сайта 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Existence
При добавлении этого параметра ключевое значение реестра должно существовать в целевой системе, чтобы указать наличие этого приложения.
Вместо простого существования, чтобы оценить правило для данных этого ключевого значения реестра, используйте параметр Value.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExpectedValue
При добавлении параметра Value используйте ExpectedValue с PropertyType и ExpressionOperator. При использовании этих параметров ключевое значение реестра должно удовлетворять правилу, чтобы указать наличие этого приложения. Этот параметр ExpectedValue указывает значение для сравнения с ключевым значением реестра.
Значение для сравнения зависит от указанного PropertyType.
Type: | String[] |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExpressionOperator
При добавлении параметра Value используйте ExpressionOperator с PropertyType и ExpectedValue. При использовании этих параметров ключевое значение реестра должно удовлетворять правилу, чтобы указать наличие этого приложения. Этот параметр ExpressionOperator указывает оператору для сравнения ключевого значения реестра с ожидаемым значением.
Начиная с версии 2010 года тип параметра изменился с RuleExpressionOperator на RegistryValueRuleExpressionOperator.
Type: | RegistryValueRuleExpressionOperator |
Accepted values: | IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf, BeginsWith, NotBeginsWith, EndsWith, NotEndsWith, Contains, NotContains |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
Этот параметр обрабатывает символы под диктовки и может привести к неожиданному поведению (не рекомендуется). Вы не можете объединить его с DisableWildcardHandling.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Type: | RegistryRootKey |
Aliases: | RegistryHive |
Accepted values: | ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, Users |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Is64Bit
Добавьте этот параметр, чтобы указать, что этот ключ реестра связан с 32-битным приложением в 64-битных системах.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Type: | String |
Aliases: | RegistryKey |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PropertyType
При добавлении параметра Value используйте PropertyType с ExpressionOperator и ExpectedValue. При использовании этих параметров ключевое значение реестра должно удовлетворять правилу, чтобы указать наличие этого приложения. Этот параметр PropertyType указывает тип данных ключевого значения реестра.
Например, вы установите этот Version
параметр, установите ExpressionOperator IsEquals
и ExpectedValue 1.48.1.0
. Затем правило проверяет ключевое значение указанного реестра, чтобы иметь ту же версию.
Type: | SettingDataType |
Accepted values: | Version, Integer, String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
При добавлении параметра Value ключевое значение реестра должно удовлетворять правилу, чтобы указать наличие этого приложения. Используйте этот параметр со следующими параметрами: ExpectedValue, ExpressionOperatorи PropertyType.
Вместо оценки правила, чтобы просто проверить наличие ключевого значения реестра, используйте параметр Existence.
Type: | SwitchParameter |
Aliases: | ValueRule |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Type: | String |
Aliases: | RegistryValueName |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Нет
Выходные данные
System.Object