Wednesday 21 August 2013

Don't expire passwords of AD users the ADSI way

How to set as never to expire the password of Active Directory users through PowerShell using the ADSI adapter:

001
002
003
004
005
006
007
008
009
010
011
012
013
014
$users = Import-Csv c:\temp\users.csv

foreach ($user in $users) {
        try {
                $ldap= "LDAP://" + "CN=" + $user.DisplayName + ",OU=Test,dc=riolo,dc=co,dc=uk"
                $u= [ADSI]$ldap
                $u.Put("userAccountControl", $u.UserAccountControl.Value -bor 65536)
                $u.SetInfo()
            }
        catch [System.Object]
            {
                Write-Output "Could not update user $($user.DisplayName), $_"
            }
   }

And this is an example of users.csv:

DisplayName
Alessandro Riolo
Ale Riolo
Alex Riolo
Alejandro Riolo
Alexander Riolo
Iskandar Riolo
Iskender Riolo
Aleksander Riolo
Sandro Riolo
Sasha Riolo
Alasdair Riolo
Alister Riolo

No comments: