New-CMDetectionClauseRegistryKey

为注册表项创建检测方法子句。

语法

New-CMDetectionClauseRegistryKey
   [-Existence]
   -Hive <RegistryRootKey>
   [-Is64Bit]
   -KeyName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

说明

使用此 cmdlet 在应用程序的检测方法中创建子句。 此子句是一个注册表项的规则,用于指示是否存在应用程序。

若要检测注册表值而不是注册表项,请使用 New-CMDetectionClauseRegistryKeyValue cmdlet。

使用此 cmdlet 后,对部署类型使用其中一个 Add-Set- cmdlet。 将此检测子句对象传递给 AddDetectionClauseRemoveDetectionClause 参数。

若要对检测子句进行分组,请对部署类型 cmdlet 使用 GroupDetectionClauses 参数。

备注

从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\> 。 有关详细信息,请参阅 入门

示例

示例 1:为 MSI 应用部署类型创建多个子句

此示例创建两个文件子句和一个注册表子句,然后使用它们向应用添加 MSI 部署类型。

$cla1=New-CMDetectionClauseFile -FileName "filetest" -PropertyType Size -ExpectedValue 123 -ExpressionOperator IsEquals -Path "C:\" -Value -Is64Bit
$cla2=New-CMDetectionClauseFile -FileName "foldertest" -PropertyType DateCreated -ExpectedValue (Get-Date) -ExpressionOperator LessThan -Path "C:\" -Value
$cla3=New-CMDetectionClauseRegistryKey -Hive ClassesRoot -KeyName "aaa"
$logic1=$cla1.Setting.LogicalName
$logic2=$cla2.Setting.LogicalName
$logic3=$cla3.Setting.LogicalName

Add-CMMsiDeploymentType -AddDetectionClause $cla1,$cla2,$cla3 -ApplicationName "app" -DeploymentTypeName "dt" -InstallCommand "mycommand" -ContentLocation "\\server\sources\Orca.msi" -GroupDetectionClauses $logic1,$logic2 -DetectionClauseConnector {LogicalName=$logic2;Connector="or"},{LogicalName=$logic3;Connector="or"}

参数

-DisableWildcardHandling

此参数将通配符视为文字字符值。 不能将其与 ForceWildcardHandling 结合使用

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Existence

此参数为隐含参数,可选。

Type:SwitchParameter
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 参数指定密钥名称。

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

添加此参数以指示此注册表项与 64 位系统上的 32 位应用程序相关联。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-KeyName

指定必须存在的注册表项的名称,以指示此应用程序是否存在。 使用 Hive 参数指定应存在此注册表项的注册表配置单元。

Type:String
Aliases:RegistryKey
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

输入

输出

System.Object