Назад | Перейти на главную страницу

Есть ли утилита командной строки Windows для проверки учетных данных пользователя?

На платформе Windows есть ли утилита командной строки, которую я могу передать username, password domain name для проверки учетных данных (или, возможно, выдачи ошибки о том, что учетная запись отключена, не существует или срок ее действия истек)?

Вы можете использовать net use команда, указав имя пользователя и пароль в командной строке (в форме net use \\unc\path /user:username password и проверьте errorlevel возвращается, чтобы проверить действительность учетных данных.

В runas команда тоже будет работать, за исключением того, что вам будет труднее тестировать вывод.

Проверка учетных данных на наличие учетной записи будет связана с использованием net user или dsquery. В net user команда не сообщит вам, заблокирована ли учетная запись, но запросит lockoutTime Атрибут учетной записи пользователя может сказать вам об этом.

В Powershell:

Function Test-ADAuthentication {
    param($username,$password)
    (new-object directoryservices.directoryentry "",$username,$password).psbase.name -ne $null
    }

PS C:\> Test-ADAuthentication "dom\myusername" "mypassword"
True
PS C:\>

Ссылка: https://stackoverflow.com/questions/7663219/how-to-authenticate-an-user-in-activedirectory-with-powershell

Попробуй это:

net use \\%userdnsdomain% /user:%userdomain%\%username% *

% Errorlevel% равен 0, если пароль в порядке.

Звездочка в конце предложения заставляет запрашивать пароль.

Просто хотел добавить, что, поскольку AD является сервером LDAP, вы можете использовать инструмент командной строки LDAP для «привязки» к нему, тем самым подтверждая, активен он или нет. Вы также можете выполнить привязку как пользователь с более высокими привилегиями, а затем выполнить поиск в AD, используя принципы LDAP.

Но эй - с Powershell все в порядке!