Em uma plataforma Windows, existe algum utilitário de linha de comando que eu possa transmitir para username
, password
domain name
a fim de verificar as credenciais (ou possivelmente dar um erro de que a conta está desativada, não existe ou expirou)?
19
Respostas:
Você pode usar o
net use
comando, especificando o nome de usuário e a senha na linha de comando (no formulárionet use \\unc\path /user:username password
e verifique oserrorlevel
retornados para verificar se uma credencial é válida.O
runas
comando também funcionaria, exceto que você terá mais dificuldade em testar a saída.Testar uma credencial para a existência de uma conta seria uma questão de usar
net user
ordsquery
. Onet user
comando não informa se uma conta está bloqueada, mas consultar olockoutTime
atributo da conta do usuário pode dizer isso.fonte
runas /user:username cmd
abrirá uma nova janela de linha de comando comousername
se você fornecesse a senha válida e esse usuário pudesse efetuar login neste computador. Normalmente, eu vou abrir um shell para testar se a senha ainda é o padrão com base nas informações pessoais que posso procurar.Em Powershell:
Referência: /programming/7663219/how-to-authenticate-an-user-in-activedirectory-with-powershell
fonte
ObjectNotFound: (Test-ADAuthentication:String) [], CommandNotFoundException
aqui. Isso funciona exclusivamente em um controlador de domínio e não em contas locais?Test-ADAuthentication
não é construído em powershell$pass = Read-Host -assecurestring 'Enter password'
Só queria acrescentar que, como o AD é um servidor LDAP, você pode usar uma ferramenta de linha de comando LDAP para 'vincular' a ele, confirmando se está ativo ou não. Você também pode vincular como usuário com privilégios mais altos e pesquisar o AD usando os princípios LDAP.
Mas ei-- nada de errado com o PowerShell!
fonte