# encoding: ascii
# api: powershell
# title: Test-ADCredentials
# description: Validates a username and password against Active Directory. Requires .NET 3.5 and PowerShell V2.
# version: 0.1
# type: function
# author: Mike Pfeiffer
# license: CC0
# function: Test-ADCredentials
# x-poshcode-id: 4406
# x-derived-from-id: 4412
# x-archived: 2016-05-07T09:53:43
# x-published: 2016-08-19T19:38:00
#
# Usage:
# Test-ADCredentials username password domain
#
Function Test-ADCredentials {
Param($username, $password, $domain)
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain
$pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext($ct, $domain)
New-Object PSObject -Property @{
UserName = $username;
IsValid = $pc.ValidateCredentials($username, $password).ToString()
}
}