public/Reset-Passwords.ps1
Function Reset-Passwords { param ( [Parameter(Mandatory=$true,Position=0)] [string]$OU, [Parameter(Mandatory=$true,Position=0)] [string]$NewPwd, [switch]$RequireChange = $true ) # Get all the users in the OU $Users = Get-ADUser -Filter * -Properties * -SearchBase $OU foreach ($User in $Users) { # Set the users password Set-ADAccountPassword -Identity $User.SamAccountName -NewPassword (ConvertTo-SecureString $NewPwd -AsPlainText -Force) -Reset -Verbose # If require change is true then do so if ($RequireChange -eq $true) { Set-ADUser -Identity $User.SamAccountName -ChangePasswordAtLogon $true } Write-Host "$($User.name)'s password has been updated" -ForegroundColor Green } } |