Comment identifier le nom de profil utilisateur (d'origine) à partir d'un nom de compte utilisateur modifié dans Windows?


8

Sous Windows, un nom de compte d'utilisateur serait différent du nom de profil utilisateur après sa modification à partir du Panneau de configuration.

Comment trouver le nom de profil utilisateur d'origine à partir d'un nom de compte utilisateur modifié?

Réponses:


6

Il y a deux propriétés "nom" pour chaque compte, alors permettez-moi de clarifier un peu les choses afin de ne pas nous embrouiller. L'un est le nom de compte SAM (Security Account Manager), qui apparaît dans la sortie de net user. Il s'agit du nom du compte en ce qui concerne les composants du système d'exploitation de bas niveau. L'autre est le nom d'affichage, qui apparaît dans la page Comptes d'utilisateurs du Panneau de configuration et dans le menu Démarrer. Le composant logiciel enfichable Utilisateurs et groupes locaux pour MMC ( lusrmgr.msc) affiche les deux: le nom SAM dans la colonne Nom et le nom d'affichage dans la colonne Nom complet. Le nom SAM est utilisé pour produire le dossier de profil.

Il n'est pas très facile de modifier le nom SAM sauf si vous utilisez ce composant logiciel enfichable MMC. Seules les modifications apportées au nom SAM produisent l'événement 4781. Je suppose, étant donné que vous ne voyez pas d'événement 4781 dans votre journal, que seul le nom d'affichage a été modifié. Cela ne produit que l'événement 4738 ("un compte d'utilisateur a été modifié"). L'événement 4738 répertorie uniquement la nouvelle valeur du nom d'affichage, pas l'ancienne valeur, et je soupçonne que l'historique des noms d'affichage n'est conservé nulle part (votre meilleur espoir serait de fouiller dans les journaux pour plus d'instances de 4738).

Heureusement, trouver le chemin du profil à partir d'un nom d'affichage n'est pas trop difficile. Ouvrez PowerShell et tapez cette commande:

gwmi win32_useraccount

Vous obtenez un tas d'entrées qui ressemblent à ceci:

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

Trouvez celui qui FullNameaffiche le nom d'affichage du compte. Ensuite, regardez la SIDvaleur (j'ai caviardé le SID de ma machine ici). Ouvrez le registre et accédez à la clé mentionnée par harrymc:

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

Ouvrez la sous-clé portant le même nom que le SID que vous avez trouvé. La ProfileImagePathvaleur contient le chemin d'accès à leur dossier de profil.


Je reçois ce message d'erreur après avoir entré la commande comme indiqué par vous:Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....
Fenixtriver

@FeniXtriver Oups, il semble que l' Get-LocalUserapplet de commande n'existe pas dans la version Windows 7 de PowerShell. (J'ai testé sur Windows 10.) J'ai modifié ma réponse pour qu'elle fonctionne également sur Windows 7.
Ben N

J'ai également testé sur Windows 10, mais cela ne semble pas fonctionner. Quoi qu'il en soit, la nouvelle commande donnée fonctionne maintenant. Merci beaucoup pour votre précieuse contribution. J'ai marqué votre réponse correcte. :)
Fenixtriver

8

Comment trouver le nom de profil utilisateur d'origine à partir d'un nom de compte utilisateur modifié?

Regardez dans le journal des événements du système de sécurité Windows pour EventID 4781: le nom d'un compte a été modifié :

4781: le nom d'un compte a été modifié

L'utilisateur identifié par Subject: a modifié le nom de connexion normal ou le nom de connexion antérieur à Win2k de l'utilisateur identifié par le compte cible :. L'événement 4738 fournit en fait de meilleures informations sur ce changement.

Cet événement est enregistré à la fois pour les comptes SAM locaux et les comptes de domaine.

Vous verrez également l'événement ID 4738 vous informant des mêmes informations.

Matière:

L'utilisateur et la session de connexion qui ont effectué l'action.

  • ID de sécurité: le SID du compte.
  • Nom du compte: nom de connexion au compte.
  • Domaine du compte: le domaine ou - dans le cas des comptes locaux - le nom de l'ordinateur.
  • L'ID de connexion est un numéro semi-unique (unique entre les redémarrages) qui identifie la session de connexion. L'ID d'ouverture de session vous permet d'établir une corrélation en arrière avec l'événement d'ouverture de session (4624) ainsi qu'avec d'autres événements enregistrés au cours de la même session d'ouverture de session.

Compte cible:

  • ID de sécurité: SID du compte
  • Nom du compte: nom du compte
  • Domaine du compte: domaine du compte
  • Ancien nom de compte: ancien nom de connexion
  • Nouveau nom de compte: nouveau nom de connexion

ID d'événement source 4781: le nom d'un compte a été modifié


Je n'ai pas trouvé cet événement dans le journal des événements. Existe-t-il une autre possibilité que le nom du compte utilisateur modifié pour que le nom du compte utilisateur soit différent du nom du profil utilisateur? Ou existe-t-il une autre façon de s'identifier?
Fenixtriver

@FeniXtriver Vous avez regardé dans le journal des événements de sécurité ? Je ne connais pas d'autres façons de modifier le nom du profil utilisateur, sauf si quelqu'un a piraté le registre.
DavidPostill

1
Je soupçonne qu'il y a une confusion entre le nom de compte SAM et le nom d'affichage en cours ici. Je viens de tester et de changer le nom d'affichage (par exemple avec le Panneau de configuration) ne crée pas d'événement 4781 car il ne change pas le nom SAM.
Ben N

@DavidPostill Oui, j'ai consulté le journal des événements de sécurité. Je crois que Ben N a raison. Et j'ai marqué sa réponse comme correcte. Merci pour votre aide de toute façon. N'hésitez pas à me faire savoir si vous avez encore quelque chose à ajouter. :)
Fenixtriver

8

Cette réponse est basée sur le fait que renommer le compte d'utilisateur ne change pas automatiquement le chemin du profil.

Si le compte a été renommé mais que le chemin du profil n'a pas été modifié, le chemin-nom peut être trouvé dans le registre sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList dans l'élément nommé ProfileImagePathdont la valeur sera C:\Users\old-user-name.

image cliquer pour agrandir l'image

Pour convertir le SID marqué en nom de compte d'utilisateur actuel, entrez dans cmd la commande:

wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name

1
Pour en ajouter plus ... ne net userrépertorie pas également les anciens noms d'utilisateur? D'accord, s'il y a beaucoup de noms d'utilisateurs, c'est encore difficile à comprendre, mais sur un PC, ce n'est généralement pas le cas.
LPChip

1
@harrymc Comment sauriez-vous alors quel chemin de profil est pour quel nom de compte?
Fenixtriver

1
Une façon serait de prendre la clé, qui est une longue chaîne commençant par «S» et d'entrer en cmd la commande wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name.
harrymc

@LPChip, vous avez raison.
Fenixtriver

@harrymc Le problème est que nous ne saurions pas quel est le SID en premier lieu. J'ai marqué la réponse de Ben N correcte pour le moment. Merci beaucoup pour votre contribution de toute façon. N'hésitez pas à me faire savoir si vous avez quelque chose à ajouter. :)
Fenixtriver
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.