PowerShell - Быстрый способ проверить учётные данные пользователя в Active Directory

imageИногда бывает нужно проверить учётные данные какой-либо определённой пользовательской учётной записи в домене Active Directory, да ещё и на определённом контроллере домена. В сети можно найти несколько вариантов PowerShell скриптов, решающих подобную задачу. При этом большинство из них представляют собой некий массив кода. Однако быстро можно выполнить задачу с помощью всего одного PS-командлета Get-ADDomain. Пример с указанием distinguishedName домена, NetBIOS-имени контроллера домена и имени конкретной учётной записи пользователя:

Get-ADDomain -Identity "DC=sub,DC=holding,DC=com" -Server "kom-ad01-dc02" -Credential "SUB\petya"

При выполнении будет выдан запрос на ввод пароля указанной учётной записи, и если учётные данные указаны верно, то будет выведена информация о домене, в противном случае возникнет ошибка типа: “Get-ADDomain : Неправильное имя места назначения неверно, или сервер отклонил учетные данные клиента.”

Только один комментарий Комментировать

  1. Sergey Korotkov /

    О, прикольно, спасибо,
    раньше пользовался так:
    function Test-ADCredential {
    [CmdletBinding()]
    Param
    (
    [Parameter(Position=0, Mandatory=$true, HelpMessage='Доменные учетные данные domain.local\login:')]
    [System.Management.Automation.PSCredential]
    $Credential = (Get-Credential)
    )
    Add-Type -AssemblyName System.DirectoryServices.AccountManagement
    $DS = New-Object System.DirectoryServices.AccountManagement.PrincipalContext('domain')
    return $DS.ValidateCredentials($Credential.UserName, $Credential.GetNetworkCredential().Password)
    }

Добавить комментарий