Como identificar o nome do perfil de usuário (original) de um nome de conta de usuário alterado no Windows?

8

No Windows, o nome de uma conta de usuário seria diferente do nome do perfil de usuário após ser alterado no Painel de Controle.

Como encontrar o nome do perfil de usuário original de um nome de conta de usuário alterado?

Fenixtriver
fonte

Respostas:

6

Existem duas propriedades de "nome" de cada conta. Deixe-me esclarecer um pouco as coisas para não ficarmos confusos. Um é o nome da conta SAM (Security Account Manager), que aparece na saída de net user. Esse é o nome da conta no que diz respeito aos componentes do sistema operacional de baixo nível. O outro é o nome de exibição, que aparece na página Contas de usuário do painel de controle e no menu Iniciar. O snap-in Usuários e Grupos Locais para o MMC ( lusrmgr.msc) mostra: o nome do SAM na coluna Nome e o nome para exibição na coluna Nome Completo. O nome do SAM é usado para produzir a pasta de perfil.

Não é muito fácil alterar o nome do SAM, a menos que você use este snap-in do MMC. Somente alterações no nome do SAM produzem o evento 4781. Suspeito que, como você não vê um evento 4781 em seu log, apenas o nome de exibição foi alterado. Isso produz apenas o evento 4738 ("uma conta de usuário foi alterada"). O evento 4738 lista apenas o novo valor para o nome de exibição, não o antigo, e eu suspeito que o histórico dos nomes de exibição não seja mantido em lugar algum (sua melhor esperança seria procurar nos logs por mais instâncias de 4738).

Felizmente, encontrar o caminho do perfil a partir de um nome para exibição não é muito difícil. Abra o PowerShell e digite este comando:

gwmi win32_useraccount

Você recebe várias entradas parecidas com esta:

AccountType : 512
Caption     : <redacted>\tester
Domain      : <redacted>
SID         : S-1-5-21-<redacted>-1018
FullName    : Test Account
Name        : tester

Encontre o que FullNamemostra o nome de exibição da conta. Em seguida, observe o SIDvalor (reduzi o SID da minha máquina aqui). Abra o registro e navegue até a chave mencionada por harrymc:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Abra a subchave com o mesmo nome do SID encontrado. O ProfileImagePathvalor mantém o caminho para sua pasta de perfil.

Ben N
fonte
Recebo esta mensagem de erro após inserir o comando, conforme indicado por você:Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....
Fenixtriver 24/06
@FeniXtriver Ups, parece que o Get-LocalUsercmdlet não existe na versão Windows 7 do PowerShell. (Testei no Windows 10.) Também editei minha resposta para funcionar no Windows 7.
Ben N
Na verdade, eu testei no Windows 10 também, mas parece não funcionar. De qualquer forma, o novo comando fornecido funciona agora. Muito obrigado pela sua contribuição valiosa. Marquei sua resposta correta. :)
Fenixtriver
8

Como encontrar o nome do perfil de usuário original de um nome de conta de usuário alterado?

Procure no EventID 4781 o log de eventos do sistema de segurança do Windows : O nome de uma conta foi alterado :

4781: O nome de uma conta foi alterado

O usuário identificado por Assunto: alterou o nome de logon normal ou o nome de logon pré-Win2k do usuário identificado pela Conta de Destino :. O evento 4738, na verdade, fornece melhores informações sobre essa alteração.

Este evento é registrado para contas SAM locais e contas de domínio.

Você também verá o ID do evento 4738 informando sobre as mesmas informações.

Sujeito:

A sessão de usuário e logon que executou a ação.

  • ID de segurança: o SID da conta.
  • Nome da conta: o nome do logon da conta.
  • Domínio da conta: o domínio ou - no caso de contas locais - nome do computador.
  • O ID de logon é um número semi-exclusivo (exclusivo entre reinicializações) que identifica a sessão de logon. O ID de logon permite correlacionar para trás com o evento de logon (4624), bem como com outros eventos registrados durante a mesma sessão de logon.

Conta de destino:

  • ID de segurança: SID da conta
  • Nome da conta: nome da conta
  • Domínio da conta: domínio da conta
  • Nome da conta antiga: nome de logon antigo
  • Novo nome de conta: novo nome de logon

Origem EventID 4781: O nome de uma conta foi alterado

DavidPostill
fonte
Não foi possível encontrar este evento no log de eventos. Existe outra possibilidade além do nome da conta do usuário ser alterado para que o nome da conta seja diferente do nome do perfil do usuário? Ou existe outra maneira de identificar?
Fenixtriver
@FeniXtriver Você olhou no log de eventos de segurança ? Não conheço outras maneiras de alterar o nome do perfil do usuário, a menos que alguém tenha invadido o registro.
DavidPostill
11
Eu suspeito que haja alguma confusão sobre o nome da conta SAM e o nome de exibição acontecendo aqui. Acabei de testar e alterar o nome de exibição (por exemplo, com o Painel de Controle) não cria o evento 4781 porque não altera o nome do SAM.
Ben N
@DavidPostill Sim, examinei o log de eventos de segurança. Eu acredito que Ben N's está certo. E marquei a resposta dele como correta. Obrigado pela sua ajuda de qualquer maneira. Sinta-se à vontade para me informar se você ainda tiver algo a acrescentar. :)
Fenixtriver
8

Esta resposta é baseada no fato de que renomear a conta do usuário não altera automaticamente o caminho do perfil.

Se a conta foi renomeada, mas o caminho do perfil não foi alterado, o nome do caminho pode ser encontrado no registro, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList no item nomeado ProfileImagePathcujo valor será C:\Users\old-user-name.

imagem clique para ampliar a imagem

Para converter o SID marcado no nome atual da conta do usuário, digite no comando cmd o comando:

wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name
harrymc
fonte
11
Para adicionar mais ... também não net userlista os nomes de usuário antigos? Ok, se há muitos nomes de usuário, ainda é difícil descobrir, mas em um PC geralmente não é.
LPChip
11
@harrymc Como você saberia qual caminho do perfil é para qual nome de conta?
Fenixtriver
11
Uma maneira seria pegar a chave, que é uma sequência longa que começa com 'S' e inserir no cmd o comando wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name.
harrymc
@LPChip, você está certo.
Fenixtriver
@harrymc O problema é que não saberíamos qual é o SID em primeiro lugar. Marquei a resposta de Ben N correta no momento. Muito obrigado pela sua contribuição de qualquer maneira. Sinta-se à vontade para me informar se tiver algo a acrescentar. :)
Fenixtriver