Advertisement
Guest User

Untitled

a guest
Jan 14th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. function Test-ADCrential{
  2. [CmdletBinding()]
  3. param(
  4. [pscredential]$Credential
  5. )
  6.  
  7. try {
  8. Add-Type -AssemblyName System.DirectoryServices.AccountManagement
  9. if(!$Credential) {
  10. $Credential = Get-Credential -EA Stop
  11. }
  12. if($Credential.username.split("\").count -ne 2) {
  13. throw "You haven't entered credentials in DOMAIN\USERNAME format. Given value : $($Credential.Username)"
  14. }
  15.  
  16. $DomainName = $Credential.username.Split("\")[0]
  17. $UserName = $Credential.username.Split("\")[1]
  18. $Password = $Credential.GetNetworkCredential().Password
  19.  
  20. $PC = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Domain, $DomainName)
  21. if($PC.ValidateCredentials($UserName,$Password)) {
  22. Write-Verbose "Credential validation successful for $($Credential.Username)"
  23. return $True
  24. } else {
  25. throw "Credential validation failed for $($Credential.Username)"
  26. }
  27. } catch {
  28. Write-Verbose "Error occurred while performing credential validation. $_"
  29. return $False
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement