Comment accéder à de registre HKCU de l'utilisateur actuellement connecté(s), à partir d'un service?
Dans un service windows je veux vérifier certaines préférences de l'utilisateur qui sont stockés à l'intérieur de chacun des utilisateurs de registre HKCU zone. Comment puis-je faire cela?
Je vois que HKEY_USERS a des sous-clés de chaque utilisateur qui s'est connecté à la machine (ou quelque chose comme ça?), et au sein de ces sont les HKCU pour chaque utilisateur. Cependant, ces sous-clés sont le Sid de l'utilisateur, donc, quelque part, j'avais besoin de travailler sur le SID de l'utilisateur actuellement connecté(s).
Je voudrais ensuite requête HKEY_USERS\<the users SID>\whichever\key\i\need
à la place de l'interrogation HKEY_CURRENT_USER\whichever\key\i\need
.
De cette question je peux obtenir une liste des utilisateurs actuels sur la machine au format DOMAINE\UTILISATEUR. Est-il un moyen d'obtenir le SID d'un utilisateur à partir de leur connexion windows? Ou est-il une méthode plus directe pour obtenir le chemin d'accès du registre qui est HKCU pour l'utilisateur actuellement connecté(s)?
Je suis en train de recueillir leurs préférences de l'utilisateur, donc je vais faire une boucle par les utilisateurs et d'obtenir de chacun de ses préférences.
OriginalL'auteur Rory | 2010-03-02
Vous devez vous connecter pour publier un commentaire.
Voici un exemple de conversion d'un nom d'utilisateur pour SID: Convertir un nom d'utilisateur à un SID chaîne en C#/.NET
OriginalL'auteur Cory Charlton
Dans
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
vous trouverez le SID des profils existants. Le ProfileImagePath donnera le chemin d'accès du profil.La plupart du temps, cette voie est le nom de l'utilisateur. Mais il pourrait être un autre chemin si un chemin similaire existait déjà lorsque le profil a été créé.
Court SID est comme S-1-5-18 (=> Système Local) sont par défaut les comptes locaux (https://support.microsoft.com/en-us/kb/243330)
OriginalL'auteur SjorsH
Pour ce faire, vous devrez effectuer l'une des opérations suivantes
Je ne suis pas sûr à 100% que #1 va fonctionner, mais je crois qu'il va.
Pour l'une ou l'autre solution si vous avez besoin des informations d'identification des utilisateurs ou jeton d'accès dans votre processus. Ce n'est pas facilement disponible, parce que c'est un problème de sécurité.
OriginalL'auteur JaredPar
Vous pouvez vous connecter à leur registre à distance, puis rechercher l'ensemble de la HKU clé de leur nom d'utilisateur (c'est à dire jsmith). Différentes entrées de référence à leur profil d'utilisateur; ces pop up alors vous pouvez juste regarder en vertu de laquelle SID ces entrées sont situées. Peu rond-point de la façon de le faire, mais semble fonctionner.
OriginalL'auteur Brandon
À l'aide de PowerShell, vous pouvez correspondre:
Vous pouvez même effectuer une recherche par nom d'utilisateur (par exemple john):
Bonus: inverse de recherche SID à l'aide de PowerShell (retour de DOMAINE\nom d'utilisateur)
OriginalL'auteur KERR