New-CMRequirementRuleRegistryKeyPermissionValue

创建要求规则以验证注册表项权限。

语法

New-CMRequirementRuleRegistryKeyPermissionValue
   -ControlEntry <RegistryAccessControlEntry[]>
   [-Exclusive <Boolean>]
   [-InputObject] <IResultObject>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

说明

使用此 cmdlet 对验证注册表项权限的应用程序部署类型创建要求规则。 它需要数据类型注册表项的自定义全局条件。

提示

对于比较,如果在 Configuration Manager 控制台中手动创建此要求规则,请选择以下选项:

  • 类别: 自定义
  • 条件:选择数据类型为“注册表项”的自定义全局条件
  • 规则类型:
  • 属性: 权限

使用此 cmdlet 后,请对部署类型使用其中一个 Add-Set- cmdlet。 将此要求规则对象传递给 AddRequirementRemoveRequirement 参数。

有关详细信息,请参阅 部署类型要求创建全局条件

注意

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

示例

示例 1:添加注册表项权限的要求规则

此示例首先使用 Get-CMGlobalCondition cmdlet 获取自定义全局条件。 然后,它使用 New-CMRegistryAccessControlEntry cmdlet 为特定用户创建两个访问控制条目。 接下来,它会创建要求规则对象,以检查注册表项是否具有访问控制项中指定的权限。 最后,它将该规则对象传递给 Set-CMScriptDeploymentType cmdlet 以添加要求。

$myGC = Get-CMGlobalCondition -Name "LOB app registry key"

$userName = "contoso\jqpublic"
$ce = New-CMRegistryAccessControlEntry -GroupOrUserName $userName -AccessOption Allow -Permission Read,Write

$userName2 = "contoso\jdoe"
$ce2 = New-CMRegistryAccessControlEntry -GroupOrUserName $userName2 -AccessOption Allow -Permission Read

$myRule = $myGC | New-CMRequirementRuleRegistryKeyPermissionValue -Exclusive $false -ControlEntry $ce,$ce2

Set-CMScriptDeploymentType -ApplicationName "Central app" -DeploymentTypeName "Install" -AddRequirement $myRule

参数

-ControlEntry

指定访问控制项对象的数组。 访问控制条目定义特定用户或组的特定权限。 若要获取此对象,请使用 New-CMRegistryAccessControlEntry cmdlet。

Type:RegistryAccessControlEntry[]
Aliases:ControlEntries, RegistryAccessControlEntry, RegistryAccessControlEntries
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

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

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

-Exclusive

如果此参数为 $true,则规则要符合要求,则需要完全匹配指定的 ACE。 注册表项上的任何其他权限都会导致规则失败。

如果设置为 $false,则规则要合规,则指定的 ACE 必须存在,并且其他权限也可以存在。

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

-ForceWildcardHandling

此参数处理通配符,并可能导致意外行为 (不建议) 。 不能将其与 DisableWildcardHandling 结合使用。

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

-InputObject

指定要用作此要求规则基础的自定义全局条件对象。 若要获取此对象,请使用 Get-CMGlobalCondition cmdlet。

若要查看站点中可用 注册表项 全局条件的列表,请使用以下 PowerShell 命令:

Get-CMGlobalCondition | Where-Object DataType -eq "RegistryKey" | Select-Object LocalizedDisplayName

Type:IResultObject
Aliases:GlobalCondition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

输入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

输出

System.Object