Como alterar a senha de domínio do usuário atual sem ser administrador de domínio?

10

Eu já vi muita documentação de como redefinir a senha de um usuário executando

net user <username> * /domain

ou localmente

net user <username> <new_password>

Mas eu não sou administrador de domínio para o domínio atual, portanto não tenho permissão para alterar a senha via net user <my_username> * /domain(Acesso negado).

O que posso fazer é clicar em CTRL+ ALT+ DELe clicar em "Alterar senha", onde tenho que inserir novamente minha senha atual e fornecer uma nova senha: insira a descrição da imagem aqui

Pergunta: Como posso escrever isso? Quero alterar minha senha via linha de comando. Possível?

Informações sobre bônus: estou em uma máquina com Windows XP SP3.

Nota : A política da empresa é fazer com que o usuário altere sua senha a cada duas semanas. E você não pode usar suas últimas 24 senhas ... Como eu não quero sempre me lembrar de uma nova senha, apenas percorro manualmente "password1" ... "password24" e, no final, volto à minha senha antiga. Seria ótimo fazer isso com um pequeno lote em vez da maneira manual.

Dennis G
fonte
Estou curioso. Por que você deseja criar um script quando dong-lo através da GUI é tão simples? Com que frequência você altera sua senha?
John Gardeniers
A política da empresa é fazer com que o usuário altere sua senha a cada duas semanas. E você não pode usar suas últimas 24 senhas ... Como eu não quero sempre me lembrar de uma nova senha, apenas percorro manualmente "password1" ... "password24" e, no final, volto à minha senha antiga. Seria ótimo fazer isso com um pequeno lote em vez da maneira manual.
Dennis L
9
Outro exemplo de por que as políticas dominantes de senha realmente tornam as coisas menos seguras :-) Agora existe a possibilidade de um script não criptografado neste computador com todas as 24 senhas possíveis, mas o administrador desse domínio acha que ele está fazendo coisas maravilhosas! Har!
Richard West
@ Richard perfeitamente correto. Além disso, manter minha senha antiga é "contra" a política que deseja impor novas senhas ... Melhor tornar as senhas mais seguras, em vez de alterá-las o tempo todo. "password1" realmente funcionaria como uma senha. Ou "letmein2" ... Boa sorte cortando algumas senhas CEO por aqui, betcha eles não são melhores tanto ;-)
Dennis G
@moontear eventualmente, o seu administrador de domínio vai pegar e só permitir que usuários alterem as senhas a cada 24 horas
Jim B

Respostas:

2

Tente isso, não sei se isso funcionará para você. seu script VB

Dim UserName
Dim UserDomain
UserDomain = InputBox("Enter the user's login domain name")
UserName = InputBox("Enter the user's login name")
Set User = GetObject("WinNT://"& UserDomain &"/"& UserName &"",user)


Dim NewPassword
NewPassword = InputBox("Enter new password")
Call User.SetPassword(NewPassword)

If err.number = 0 Then
        Wscript.Echo "The password change was successful."
Else
        Wscript.Echo "The password change failed!"
End if

verifique este http://technet.microsoft.com/en-us/library/cc780332%28WS.10%29.aspx !logon de domínio

MealstroM
fonte
Penso que, por razões de segurança, seria uma boa ideia também pedir (e verificar ) a senha atual .
Pconcepcion
1
Boa ideia, mas mesmo usando User.SetPasswordrecebo um acesso negado : "* Erro: acesso geral negado erro, Código: 80070005 Fonte: Active Directory *"
Dennis G
Soa mal. Parece que você precisa de direitos de administrador. Ou o seu GroupPolicy não permite isso.
MardstroM
1
Claro ... mas como o Windows faz isso com ctrl + alt + del - altera a senha. Ele é possível de alguma forma ;-)
Dennis G
1
Looks como GINA funciona depois ctrl alt del ou você deve procurar script que trabalho com Gina.dll
MealstroM
2

Verifique este https://technet.microsoft.com/en-us/library/ee617261.aspx .... Há um parâmetro -Oldpassword que junto com o parâmetro -Newpassword pode conseguir isso. Lembre-se, se você não é um administrador de domínio, precisa conhecer o antigo pwd para fazer isso. Além disso, quando você usa o parâmetro -Oldpassword, não use -reset param.

Taparshi
fonte
Boa ideia, mas, como escrevi, estava no Windows XP SP3. O que você está sugerindo usa os cmdlets do Active Directory PowerShell que não estão disponíveis em todas as máquinas. Eu vou tentar!
Dennis G
1

Infelizmente, não estou mais no mesmo ambiente de sistema, mas deve-se observar que o Sysinternals atualizou sua ferramenta PsPasswd .

Você pode usar o PsPasswd para alterar a senha de uma conta local ou de domínio no computador local ou remoto.

Talvez essa fosse a solução - ainda não sei se poderia ter alterado minha senha com essa ferramenta. Eu poderia alterar a senha via CTRL + ALT + DELETE.

Dennis G
fonte
1

Este artigo da Equipe de Scripts tem o código e uma explicação de como alterar uma senha do Active Directory através do PowerShell. Geralmente, você precisa ser membro do grupo Administradores de Domínio ou Operadores de Conta, mas há uma chance de que ele funcione com sua própria conta. Eu ainda não tentei isso.

https://blogs.technet.microsoft.com/heyscriptingguy/2010/08/17/how-to-change-a-users-active-directory-password-with-powershell/

SturdyErde
fonte
-1

Este artigo da base de conhecimento indica que você não pode com o netcomando, não sem privilégios de administrador de domínio. Você pode fazer isso com um cmdlet do PowerShell, mas pode se deparar com várias diretivas de domínio (por exemplo, históricos de senhas) e ainda pode precisar de privilégios de administrador de domínio. Eu suspeito que você está sem sorte.

justarobert
fonte
4
Sim, eu disse que não é possível usar nete pedi para uma solução específica para este script, não para "você pode ser capaz de fazê-lo" - eu sei, que eu possa ser capaz de fazê-lo.
Dennis L
-2

Basta fazer isso no prompt de comando ...

domínio de usuário líquido \ nome de usuário *

(observe o asterisco no final após um espaço)

Ele solicitará a nova senha sem precisar digitar a antiga.

Com essas informações, você pode criar um arquivo de script ou lote e um arquivo csv para suas senhas.

Jessica Moyer
fonte
Se você leu a pergunta, já viu que ele já tentou isso.
Luc