Changing user passwords

The following code sample changes the password of a user account.

ADSI
[Reflection.Assembly]::LoadWithPartialName("Softerra.Adaxes.Adsi")

# Connect to the Adaxes service
$ns = New-Object("Softerra.Adaxes.Adsi.AdmNamespace") 
$service = $ns.GetServiceDirectly("localhost")

# Bind to the user
$userDN = "CN=John Smith,CN=Users,DC=domain,DC=com"
$user = $service.OpenObject("Adaxes://$userDN", $null, $null, 0)

# Change password
$user.ChangePassword("old password","new password")
PowerShell
Import-Module Adaxes

$identity = "jsmith" # sAMAccountName
# $identity = "CN=John Smith,CN=Users,DC=domain,DC=com"  # DN
# $identity = "{EB5FEB21-E648-42AD-B86C-89D3C6807953}" # GUID
# $identity = "S-1-5-21-573937-2149998-410785" # SID

$oldPassword = (ConvertTo-SecureString -AsPlainText "old password" -Force)
$newPassword = (ConvertTo-SecureString -AsPlainText "new password" -Force)

Set-AdmAccountPassword -Identity $identity -OldPassword $oldPassword `
    -NewPassword $newPassword -Server "domain.com" -AdaxesService localhost

See also