Public/Set-ADSIUserPassword.ps1
function Set-ADSIUserPassword { PARAM( [parameter(Mandatory=$true)] $Identity, [parameter(Mandatory=$true)] $Password, [Alias("RunAs")] [System.Management.Automation.PSCredential] [System.Management.Automation.Credential()] $Credential = [System.Management.Automation.PSCredential]::Empty, [String]$DomainName) BEGIN { Add-Type -AssemblyName System.DirectoryServices.AccountManagement # Create Context splatting $ContextSplatting=@{} IF ($PSBoundParameters['Credential']){$ContextSplatting.Credential = $Credential} IF ($PSBoundParameters['DomainName']){$ContextSplatting.DomainName = $DomainName} } PROCESS { TRY{ (Get-ADSIUser -Identity $Identity @ContextSplatting).SetPassword("$Password") } CATCH{ Write-Error $Error[0] } } } |