The Multifunctioning DBA

Oct 22 2010   10:00AM GMT

Create Random Password and update AD account



Posted by: Colin Smith
AD, Powershell

Not to long ago I was asked to write a script that would create a random password and change an AD account to use that new password. The requirements were that the password be 3 uppercase letters 2 numbers and 3 lowercase letters. Here is what I did.


/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:”";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:”Calibri”,”sans-serif”;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:”Times New Roman”;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:”Times New Roman”;
mso-bidi-theme-font:minor-bidi;}

#Clear out all variables from last run

$newpassword = $NULL

$loops = 1..3

## Set up Random Generator

$rand = New-Object System.Random

$i = 1

$n = 1

#set up loop to generate each section of $NewPassword

foreach($number in $loops)

{

if ($i -eq 1)

{

$part = $NULL

$m = 3

$s = 65

$e = 90

}

if ($i -eq 2)

{

$part = $NULL

$m = 2

$s = 48

$e = 57

}

if ($i -eq 3)

{

$part = $NULL

$m = 3

$s = 97

$e = 122

}

$n..$m | foreach { $part = $part + [char]$rand.next($s,$e) }

$newpassword = $newpassword + $part

$i = $i + 1


/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:”";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:”Calibri”,”sans-serif”;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:”Times New Roman”;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:”Times New Roman”;
mso-bidi-theme-font:minor-bidi;}

Set-QADUser PNI-GUEST -UserPassword $newpassword

Comment on this Post

Leave a comment: