Armazenar login / senha no registro em texto simples não é uma boa ideia ... Eu recomendo que você olhe para a ferramenta LogonExpert
Histórico: Como parte de uma suíte de testes automatizada que estou construindo, preciso configurar o Autologon em minhas máquinas virtuais 'on demand'. Por demanda, quero dizer que não quero necessariamente pré-configurar minha VM ou qualquer snapshot para que o Autologon já esteja configurado, por motivos de segurança e também um grande business case.
Minha solução até agora: estou copiando um script para a máquina convidada e usando o Sysinternals PsExec para executá-lo. O script é:
reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v DefaultUserName /t REG_SZ /d myusername
reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v DefaultPassword /t REG_SZ /d myfakepassword
reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v DefaultDomainName /t REG_SZ /d mydomain
reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v ForceAutoLogon /t REG_SZ /d 1
reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v AutoAdminLogon /t REG_SZ /d 1
reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoLogonChecked" /f /ve /d 1
Nota : Eu não acredito que o AutoLogonChecked seja necessário para máquinas que postam o Windows 2000, mas eu estou fazendo isso apenas no caso por enquanto. Talvez ForceAutoLogon não seja, ainda não tenho certeza.
O problema : vejo o PsExec executar isso corretamente e todos os valores estão no registro, no entanto, quando eu reinicio a máquina, o usuário não está automaticamente conectado ... Quando eu executo este uma segunda vez, em seguida, reinicie a máquina, o usuário finalmente está conectado.
Uma diferença entre os estados do registro mostra que na primeira vez que eu corro isso, falta o "1" para AutoAdminLogon e também a chave DefaultPassword. Na segunda vez que eu executo, esses valores estão corretamente intactos como eu pretendia.
Então, o que está acontecendo aqui? Isso é esperado? Este post afirma, no final, que realmente tudo apenas funciona (o problema era que um script de logoff estava definindo os valores). Não parece funcionar para mim no entanto.
Observe que isso parece ser exclusivo do Windows 7, não ocorre no Windows XP
Observe também que você não precisa do PsExec para recriar o problema - apenas modifique o registro você mesmo
EDIT / update :
EDIT / update 2 : Isso ocorre apenas para Win7x86, Win7x64, Win8x64. Isso não ocorre no Windows XP
EDIT 3 : obtenho o mesmo comportamento usando a ferramenta Autlogon.exe do Sysinsternal.
Armazenar login / senha no registro em texto simples não é uma boa ideia ... Eu recomendo que você olhe para a ferramenta LogonExpert
Parece ser algo com o PsExec.
Leia esta pergunta e veja se alguma das soluções lá ajuda você: Como faço para alterar o logon automático via script ou linha de comando?
tahocannan me levou ao LogonExpert. Com o LogonExpert, posso instalá-lo silenciosamente, configurar o Logon automático com ele e, em seguida, (remotamente) eliminar o processo LogonUI.exe do Windows e, em seguida, reinicializar. O resultado: conecto-me automaticamente. Em seguida, desinstalo imediatamente o LogonExpert e, em seguida, executo comandos de forma interativa na máquina convidada.
Eu acredito que matar o processo "LogonUI.exe" nativo do Windows é a chave aqui. Ocasionalmente, eu obteria o mesmo resultado com o LogonExpert, onde depois de configurar o Logon Automático, uma reinicialização não resultaria em um login automático conforme desejado. Ao finalizar o LogonUI.exe, ele força uma nova carga da biblioteca do LogonExpert. Então a reinicialização funcionará
Eu acredito que isso acontece porque a primeira vez que você definir AutoAdminLogon = 1, há também outro valor de registro no Windows 7 chamado AutoLogonCount, que é definido como 0. Se o Windows vê esse valor definido como 0 no registro quando ele é inicializado, ele será desative o AutoAdminLogon e é por isso que quando você reinicializa você não consegue fazer logon automático. Se você excluir o AutoLogonCount do registro ao mesmo tempo em que definir seu AutoAdminLogon como 1, você deverá ficar bem após a reinicialização.
Embora a ideia de autologon seja considerada insegura para uso regular em desktops, o autoLogon é muito útil para computadores especiais, como quiosques ou computadores conectados a um monitor de demonstração ou dispositivos de monitoramento onde o software precisa ser carregado automaticamente após a inicialização.
Tags windows-7