Nosso ambiente (muito pequeno) possui máquinas Windows (8.1 e 7) com contas de usuário que possuem privilégios de administrador. Para corrigir isso, decidi escrever um script do PowerShell que adicionaria uma nova conta de administrador e rebaixaria a atual. Depois de executá-lo, não consegui mais fazer login em nada. O roteiro é simples:
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs;
exit
}
net user local_admin SuperSecurePassword /add /comment:"comment" /expires:never
net localgroup "Administrators" local_admin /add
net localgroup "Administrators" "$env:username" /delete
Read-Host -Prompt "Enter!"
Primeiro, ele é reiniciado a partir de uma instância elevada do PS (retirada de uma pergunta popular no SE) e, em seguida, executa os próprios comandos.
Todos os comandos relataram sucesso na execução ("Comando bem-sucedido" ou algo parecido). Porém, não consegui mais fazer login no sistema (nem com o novo perfil, nem com o antigo) com esta mensagem de erro:
The User Profile Service service failed the logon. User profile cannot be loaded.
Não temos domínio, apenas um monte de PCs com contas locais (eu sei, eu sei). O que estou fazendo de errado?
Responder1
Acontece que minha pasta de perfil padrão (Users\Default) tinha permissões de acesso incorretas por algum motivo, então o Windows não conseguiu copiá-la para o novo perfil usando a conta recém-criada. Eu loguei com sucesso depois de consertar isso.
Outro problema é que você precisa adicionar o usuário ao grupo "Usuários" após removê-lo dos administradores. A linha a seguir fez isso por mim:
net localgroup "Пользователи" "$env:username" /add