Finegrained Password Policies
Description
Define Finegrained Password Policies objects in configuration.
Example Configuration
[
{
"Name": "PSO-T0-Accounts",
"DisplayName": "Password Policies Object for tier 0 Accounts",
"Description": "Will be applied to all tier 0 Accounts",
"MinPasswordLength": 30,
"SubjectGroup": "PSO-Policy-T0-Accounts",
"LockoutThreshold": 5,
"MaxPasswordAge": "90d",
"ComplexityEnabled": true,
"LockoutDuration": "30m",
"LockoutObservationWindow": "30m",
"MinPasswordAge": "1d",
"PasswordHistoryCount": 24
}
]
Tools
$PSOs = Get-ADFineGrainedPasswordPolicy -Filter * | Select-Object *
$PSOs | Select-PSFObject @(
'Name'
'Displayname'
'Description'
'MinPasswordLength'
'SubjectGroup'
'LockoutThreshold'
'MaxPasswordAge TO String'
'ComplexityEnabled'
'LockoutDuration TO String'
'LockoutObservationWindow TO String'
'MinPasswordAge TO String'
'PasswordHistoryCount'
) | ConvertTo-Json
Properties
Name
The name of the PSO.
DisplayName
The display name of the PSO.
Description
The description for the PSO.
Precedence
The precedence rating of the PSO. The lower the precedence number, the higher the priority.
MinPasswordLength
The minimum number of characters a password must have.
SubjectGroup
The group that the PSO should be assigned to.
LockoutThreshold
How many bad password entries will lead to account lockout?
MaxPasswordAge
The maximum age a password may have before it must be changed.
ComplexityEnabled
Optional: Yes | Default: true
Whether complexity rules are applied to users affected by this policy. By default, complexity rules requires 3 out of: "Lowercase letter", "Uppercase letter", "number", "special character". However, custom password filters may lead to very validation rules.
LockoutDuration
Optional: Yes | Default: 1h
If the account is being locked out, how long will the lockout last.
LockoutObservationWindow
Optional: Yes | Default: 1h
What is the time window before the bad password count is being reset.
MinPasswordAge
Optional: Yes | Default: 30m
How soon may a password be changed again after updating the password.
PasswordHistoryCount
Optional: Yes | Default: 24
How many passwords are kept in memory to prevent going back to a previous password.
ReversibleEncryptionEnabled
Optional: Yes | Default: false
Whether the password should be stored in a manner that allows it to be decrypted into cleartext. By default, only un-reversible hashes are being stored.
SubjectDomain
Optional: Yes | Default: %DomainFqdn%
The domain the group is part of. Defaults to the target domain.
Present
Optional: Yes | Default: true
Whether the PSO should exist. Defaults to $true. If this is set to $false, no PSO will be created, instead the PSO will be removed if it exists.