Using PowerShell to secure Active Directory passwords

Step 1: Enable strong password policies

Modify AD policies to require complex passwords. The script below will require passwords to be at least 12 characters long.

Set-ADDefaultDomainPasswordPolicy -ComplexityEnabled $true -MinPasswordLength 12

Step 2: Enforce regular password changes

Set expiration policies. This forces password changes every 90 days.

Set-ADDefaultDomainPasswordPolicy -MaxPasswordAge 90 -MinPasswordAge 1

Step 3: Lock accounts after failed attempts

Reduce the risk of brute-force attacks by locking accounts after five failed login attempts for 30 minutes.

Set-ADDefaultDomainPasswordPolicy -LockoutThreshold 5 -LockoutDuration 30

Step 4: Notify users about security policies

Send a reminder email about strong passwords to keep users aware of security measures.

Send-MailMessage -To "allusers@domain.com" -From "admin@yourdomain.com" -Subject "Password Security Update" -Body "Reminder: Ensure your passwords meet security standards."

FAQs

1. How do I enforce strong passwords in AD?

You can enforce strong passwords in AD by running the script below, which sets the minimum password length to 12:

Set-ADDefaultDomainPasswordPolicy -MinPasswordLength 12 -ComplexityEnabled $true

2. How can I block weak passwords?

You can block weak passwords by running the script below, which sets the minimum password length to 14:

New-ADFineGrainedPasswordPolicy -Name "StrictPolicy" -MinPasswordLength 14

3. How do I detect insecure passwords?

Use password auditing tools like ManageEngine ADSelfService Plus or PowerShell scripts to detect insecure passwords.

 
  • Step 1: Enable strong password policies
  • Step 2: Enforce regular password changes
  • Step 3: Lock accounts after failed attempts
  • Step 4: Notify users about security policies
  • FAQs

ADSelfService Plus trusted by

A single pane of glass for complete self service password management
Email Download Link