Checking password whether it meets complexity using
PowerShell.
Tweak or modify the script according to your own standard.
This can be used to check password complexity, on Active
Directory user password.
The only thing it will not check whether the user account is
also included on the string.
But the script will test the following:
- Check if the password is at least 9 characters in length
- Check if the password is alphanumeric
- Check if the password has upper case and lower case
combination
- Check if the password has at least 1 special character on
it
And the script will also display what are the missing
characters it needs to meet the password complexity.
For example: if the
password does not contain numbers, or it does not contain special characters.
The script will display the error/s on what the user needs to do to meet a
complex password.
Copy and paste the script to PowerShell ISE for testing.
Here’s the script:
==========================================
$stringx=Read-host
"Enter String"
$regex
= "[^a-zA-Z0-9]"
#check for special characters
$validity
= ""
If
($stringx –cmatch
$regex) {
$validity= "true"
write-host "Special
Character YES"
}
Else
{
$validity = "false"
write-host "Please
include Special Character/s in your password"
}
$regex1
= "[a-z]"
If
($stringx –cmatch
$regex1) {
$validity= $validity + "true"
write-host "Lower
Case YES"
}
Else
{
$validity= $validity
+ "false"
write-host "Please
include lower Character/s in your password"
}
$regex2
= "[A-Z]"
If
($stringx –cmatch
$regex2) {
$validity= $validity
+ "true"
write-host "Upper
Case YES"
}
Else
{
$validity= $validity
+ "false"
write-host "Please
include upper Character/s in your password"
}
$regex3
= "[0-9]"
If
($stringx –cmatch
$regex3) {
$validity=
$validity +
"true"
write-host "Number
in String YES"
}
Else
{
$validity= $validity
+ "false"
write-host "Please
include number/s in your password"
}
$count
= $stringx.Length
if
($count -le
8) {
$validity= $validity + "false"
write-host
"Password should at least be 9 characters or
more"
}
else
{
write-host
"More than 8 characters YES"
$validity= $validity
+ "true"
}
#just to display the
number of characters
#write-host
"$stringx has $count Characters"
#check if validity
contains false
$check_validity
= $validity.Contains("false")
if
($check_validity -eq
"True")
{
write-host
"Password does not meet complexity, FAIL"
}
else
{
Write-host
"Password is GOOD"
}
==========================================
Sample output:
Enter String:
123qwsdazXXbbnm
Please include Special
Character/s in your password
Lower Case YES
Upper Case YES
Number in String YES
More than 8 characters
YES
Password does not meet
complexity, FAIL
Enter String:
123##QsdPxvb90+b
Special Character YES
Lower Case YES
Upper Case YES
Number in String YES
More than 8 characters
YES
Password is GOOD
Hope it helps.. Cheers!!!
================================
Free Android App with No Ads.
Heaven's Dew Fall
https://play.google.com/store/apps/details?id=soulrefresh.beautiful.prayer
Catholic Rosary Guide for Android:
Pray the Rosary every day, countless blessings will be showered upon your life if you recite the Rosary faithfully.
https://play.google.com/store/apps/details?id=com.myrosaryapp
https://play.google.com/store/apps/details?id=com.myrosaryapp
Comments
Post a Comment