Active Directory Management Framework

Configuration driven Active Directory management.

Register-DMGPPermissionFilter

SYNOPSIS

Registers a GP Permission filter rule.

SYNTAX

Managed

Register-DMGPPermissionFilter -Name <String> [-Reverse] -Managed <Boolean> [-ContextName <String>]
 [<CommonParameters>]

Path

Register-DMGPPermissionFilter -Name <String> [-Reverse] -Path <String> [-PathScope <String>] [-PathOptional]
 [-ContextName <String>] [<CommonParameters>]

GPName

Register-DMGPPermissionFilter -Name <String> [-Reverse] -GPName <String> [-GPNameMode <String>]
 [-ContextName <String>] [<CommonParameters>]

DESCRIPTION

Registers a GP Permission filter rule. These rules are used to apply GP Permissions not on any one specific object but on any number of GPOs that match the defined rule. For example it is possible to define rules that match GPOs by name, that apply to all GPOs defined in configuration or to GPOs linked under a specific OU structure.

EXAMPLES

EXAMPLE 1

Get-Content .\gppermissionfilter.json | ConvertFrom-Json | Write-Output | Register-DMGPPermissionFilter

Reads all registered filters from the input file and registers them for use in testing Group Policy Permissionss.

PARAMETERS

-Name

Name of the filter rule. Must only contain letters, numbers and underscore.

Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Reverse

Reverses the result of the rule. This combined with another condition allows reversing the result. For example, combined with a Path condition, this would make the filter match any GPO NOT linked to that path.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Managed

Matches GPOs that are defined by ADMF ($true) or not so ($false).

Type: Boolean
Parameter Sets: Managed
Aliases:

Required: True
Position: Named
Default value: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Path

Matches GPOs that have been linked to the specified organizational unit (or potentially OUs beneath it). Subject to name insertion.

Type: String
Parameter Sets: Path
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PathScope

Defines how the path rule is applied:

Type: String
Parameter Sets: Path
Aliases:

Required: False
Position: Named
Default value: Base
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PathOptional

Whether the path is optional. By default, when evaluating a path filter, processing of GP permission terminates if the designated path does not exist, as we cannot guarantee a consistent permission-set being applied. With this setting enabled, instead processing silently continues. (Even if this is enabled, a silent log entry will be added for tracking purposes!)

Type: SwitchParameter
Parameter Sets: Path
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-GPName

Name of the GP to filter for. This can be a wildcard or regex match, depending on the -GPNameMode parameter, however by default an exact match is required. Subject to name insertion.

Type: String
Parameter Sets: GPName
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-GPNameMode

How exactly the GPName parameter is applied:

Type: String
Parameter Sets: GPName
Aliases:

Required: False
Position: Named
Default value: Explicit
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ContextName

The name of the context defining the setting. This allows determining the configuration set that provided this setting. Used by the ADMF, available to any other configuration management solution.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: <Undefined>
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

OUTPUTS

NOTES