Skip to content

Configuration reference

Every setting, with its default. The configuration of the domain holds only those it changes.

NewGpo

What the window proposes for a new GPO.

Setting Default
NewGpo.DefaultName New Group Policy Object name proposed
NewGpo.Status Enabled Enabled, ComputerOnly (user settings disabled), UserOnly (computer settings disabled)
NewGpo.SecurityFilteringGroups.Create $false Create the security filtering groups checked when the form opens
NewGpo.SecurityFilteringGroups.Container empty where the groups are created: a distinguished name, or a path below the domain (OU=GPO,OU=Groups); empty: the users container
NewGpo.SecurityFilteringGroups.ApplyPrefix APPLY_ prefix of the group whose members alone apply the GPO
NewGpo.SecurityFilteringGroups.DenyPrefix DENY_ prefix of the group whose members never apply it
NewGpo.SecurityFilteringGroups.Scope Global Global, DomainLocal, Universal
NewGpo.SecurityFilteringGroups.ApplyDescription Members apply the GPO {0} description; {0} is the name of the GPO
NewGpo.SecurityFilteringGroups.DenyDescription Members do not apply the GPO {0} description

The prefixes cannot be empty, hold a character a group name cannot hold (" / \ [ ] : ; | = , + * ? < > @), nor be the same.

Backup

Setting Default
Backup.Path empty the central backups, the same for every console: a share of a file server (\\server\gpo-backups), not SYSVOL, prepared by Initialize-PSGPOBackupShare, for Tier 0 only; empty: the folder of the History tab of each account
Backup.ApprovedLabel Approved label of the approved versions: the newest backup with it is the reference of the drift
Backup.TemplateLabel Template label of the templates of new GPOs

A label has at most 64 characters, without comma, tab or line break; the two labels differ.

Audit

Setting Default
Audit.Enabled $true the changes are written to the audit log; $false: they are not (the changes are still made)
Audit.Path empty the central audit log, the same for every console: a share of a file server (\\server\gpo-audit), not SYSVOL, prepared by Initialize-PSGPOAuditShare; empty: the folder Audit of the backups of the account
Audit.Tiers.Tier1 empty groups of Tier 1, separated by commas: they write in the folder Tier1 of the central log and read the changes of their tier
Audit.Tiers.Tier2 empty groups of Tier 2: the folder Tier2
Audit.Readers empty groups that read every tier without writing (auditors)
Audit.Purgers empty groups that run the retention (Invoke-PSGPOAuditRetention): they read every tier, delete the files of the old months and write the archives, without being administrators of the domain (the group of a gMSA)
Audit.RetentionMonths 13 months the central log keeps: Invoke-PSGPOAuditRetention archives the older ones in Archive, then deletes their files; 0 keeps everything

Log

Setting Default
Log.Level Warning what the technical log of each console keeps: Error, Warning, Information (the commands that fail), Verbose (every command)
Log.RetentionDays 30 days the files of the technical log are kept
Log.SystemLog $true the changes of the audit log and the errors sent to the log of the system: the Windows event log (source HGPM) or syslog/journald

Console

Setting Default
Console.MinimumVersion empty version of HGPM a console needs at least (0.1.14): an older console does not use the configuration, and the accounts that are not administrators of the domain create no GPO with it (hardening); empty: every version

A setting a console does not know (a newer version of HGPM added it) is left out with a warning, the others are used, and the console keeps it when it saves the configuration. Update every console first, then set Console.MinimumVersion: the consoles older than 0.1.14 do not know it, and leave out the whole configuration.

View

Setting Default
View.ShowUnmanaged $true every account sees the whole domain, as GPMC: what it does not manage is greyed, read only; $false: it sees only what it manages, and an account without delegation sees nothing (delegation)

Workflow

The approval workflow.

Setting Default
Workflow.Enabled $false the workflow is used
Workflow.Approvers Domain Admins groups of the approvers (Tier 0), separated by commas
Workflow.Creators empty groups of the creators (Tier 1), separated by commas; required when the workflow is enabled
Workflow.ApprovedOwner Domain Admins owner of the approved GPOs: one group of the approvers
Workflow.CreatorRights ReadOnly what the approval proposes for the creators: ReadOnly or EditSettings

The groups are names of the domain (sAMAccountName, with or without DOMAIN\), or SIDs. A name the domain does not know stops the creation of GPOs, rather than give the wrong rights.

Example

# \\dc.hardenbox.labo\SYSVOL\hardenbox.labo\PSGPOTools\Configuration.psd1
@{
    NewGpo = @{
        Status = 'ComputerOnly'
        SecurityFilteringGroups = @{
            Create = $true
            Container = 'OU=Groups,OU=Tier 1'
            Scope = 'DomainLocal'
        }
    }
    Workflow = @{
        Enabled = $true
        Creators = 'GPO-Tier1-Admins, GPO-Tier2-Admins'
        CreatorRights = 'EditSettings'
    }
}