На платформе Windows, есть ли какая-либо утилита командной строки, которую я могу передать username
, password
domain name
чтобы проверить учетные данные (или, возможно, выдать ошибку, что учетная запись отключена, не существует или просрочена)?
19
Ответы:
Вы можете использовать
net use
команду, указав имя пользователя и пароль в командной строке (в формеnet use \\unc\path /user:username password
и проверитьerrorlevel
возвращаемое, чтобы убедиться, что учетные данные действительны.Команда также
runas
будет работать, за исключением того, что у вас будет сложнее протестировать вывод.Проверка учетных данных на наличие учетной записи будет зависеть от использования
net user
илиdsquery
. Командаnet user
не скажет вам, заблокирована ли учетная запись, но запросlockoutTime
атрибута учетной записи пользователя может сказать вам об этом.источник
runas /user:username cmd
откроет новое окно командной строки, какusername
если бы вы указали действительный пароль и этот пользователь мог войти на этот компьютер. Я обычно открываю оболочку, чтобы проверить, что пароль по-прежнему используется по умолчанию на основе их личной информации, которую я могу найти.В Powershell:
Ссылка: /programming/7663219/how-to-authenticate-an-user-in-activedirectory-with-powershell
источник
ObjectNotFound: (Test-ADAuthentication:String) [], CommandNotFoundException
сюда. Это работает исключительно на контроллере домена, а не для локальных учетных записей?Test-ADAuthentication
не встроено в PowerShell$pass = Read-Host -assecurestring 'Enter password'
Просто хотел добавить, что, поскольку AD является сервером LDAP, вы можете использовать инструмент командной строки LDAP для «привязки» к нему, таким образом подтверждая, активен он или нет. Вы также можете связываться как пользователь с более высокими привилегиями, а затем выполнять поиск AD, используя принципы LDAP.
Но эй, с Powershell все в порядке!
источник