Configuration driven Active Directory management.
Define Finegrained Password Policies objects in 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
}
]
$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
The name of the PSO.
The display name of the PSO.
The description for the PSO.
The precedence rating of the PSO. The lower the precedence number, the higher the priority.
The minimum number of characters a password must have.
The group that the PSO should be assigned to.
How many bad password entries will lead to account lockout?
The maximum age a password may have before it must be changed.
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.
Optional: Yes | Default: 1h |
If the account is being locked out, how long will the lockout last.
Optional: Yes | Default: 1h |
What is the time window before the bad password count is being reset.
Optional: Yes | Default: 30m |
How soon may a password be changed again after updating the password.
Optional: Yes | Default: 24 |
How many passwords are kept in memory to prevent going back to a previous password.
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.
Optional: Yes | Default: %DomainFqdn% |
The domain the group is part of. Defaults to the target domain.
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.