Question Où puis-je trouver des données stockées par un service Windows exécuté en tant que «compte système local»?


J'utilise un service qui stocke des données sur le disque. Le service s'exécute en tant que "compte système local".

Où se trouvent les données stockées pour cet utilisateur du système?

Je pense à C:\Documents and Settings\Default User mais je ne suis pas sûr à ce sujet.

Quelqu'un peut-il confirmer cela?


81
2018-05-18 09:13


origine




Réponses:


Les données que vous recherchez ne doivent pas, par défaut, être situées dans "C: \ Documents and Settings \ Utilisateur par défaut". Il s’agit de l’emplacement du profil utilisateur par défaut, qui est le modèle pour les nouveaux profils utilisateur. Sa seule fonction consiste à copier dans un nouveau dossier pour l'utiliser comme profil utilisateur lorsqu'un utilisateur se connecte à l'ordinateur pour la première fois.

Si le service suit les directives de Microsoft, il stockera les données dans le dossier de données de l'application (% APPDATA%) ou le dossier de données de l'application locale (% LOCALAPPDATA% sur Windows Vista et versions ultérieures). Il ne devrait pas utiliser les dossiers Mes documents ou Documents, mais vous voudrez peut-être vérifier également.

Sur une installation typique de Windows XP ou Windows Server 2003, vérifiez les emplacements suivants pour les données d'application des programmes exécutés en tant que système local (NT AUTHORITY \ SYSTEM):

  • C: \ Windows \ system32 \ config \ systemprofile \ Application Data \Vendeur\Programme
  • C: \ Windows \ system32 \ config \ systemprofile \ Paramètres locaux \ Données d'application \Vendeur\Programme
  • C: \ Windows \ system32 \ config \ systemprofile \ Mes documents

Sur une installation standard de Windows Vista et des versions ultérieures, vérifiez les emplacements suivants pour les données d'application des programmes exécutés en tant que système local (NT AUTHORITY \ SYSTEM):

  • C: \ Windows \ system32 \ config \ systemprofile \ AppData \ Roaming \Vendeur\Programme
  • C: \ Windows \ system32 \ config \ systemprofile \ AppData \ Local \Vendeur\Programme
  • C: \ Windows \ system32 \ config \ systemprofile \ AppData \ LocalLow \Vendeur\Programme
  • C: \ Windows \ system32 \ config \ systemprofile \ Documents

Bien sûr, remplacez le nom du fournisseur et le nom du programme appropriés par Vendeur et Programme.

[Edit - pour le bricelam] Pour les processus 32 bits s'exécutant sur des fenêtres 64 bits, il s'agirait de SysWOW64.

  • C: \ Windows \ SysWOW64 \ config \ systemprofile \ AppData

98
2018-05-18 15:48



Pour les processus 32 bits s'exécutant sur les versions 64 bits de Windows, vérifiez plutôt sous "C: \ Windows \ SysWOW64". - bricelam
Voir aussi la réponse ici: stackoverflow.com/questions/3637605/… - stolsvik


La destination change dans le temps. Sous Windows 10:

  • %systemroot%\ServiceProfiles

Par exemple.:

  • C:\Windows\ServiceProfiles\LocalService
  • C:\Windows\ServiceProfiles\NetworkService

11
2018-01-15 15:17



Remarque: cela s'applique à LocalService et NetworkService, mais non LocalSystem que la question demande. Ce sont trois comptes séparés, vois ici pour plus de détail - M.M


Aller à Sysinternals et téléchargez procmon. Vous aurez besoin de connaître le nom de l'exe sous lequel le service s'exécute. Ensuite, vous pouvez utiliser le filtre dans procmon pour répertorier uniquement les activités générées par cette application.

Vous devriez maintenant pouvoir parcourir la liste et déterminer le fichier utilisé par cette application (REMARQUE: après plusieurs minutes d’enregistrement, vous pouvez utiliser le menu Fichier pour arrêter la surveillance).

Toute la suite Sysinternal peut être téléchargée sous forme de fichier zip unique. Vous trouverez peut-être d'autres utilitaires dans le kit qui pourraient vous être utiles.


6
2018-05-18 10:57





Si votre service utilise des API standard pour obtenir les répertoires par défaut de l'utilisateur (données de configuration et d'application), les fichiers seront enregistrés dans le répertoire. Default UserLe dossier de, par exemple:

C: \ Documents and Settings \ Utilisateur par défaut \ Paramètres locaux \

Donc, je confirmerais votre hypothèse. J'ai vérifié cela sur un service que j'ai écrit et qui fonctionne en tant que compte système local.


3
2018-05-18 09:35



+1: Au moins pour un programme que j'utilise, cela a fonctionné, alors que le C:\Windows\system32\config\systemprofile\... les options ne sont pas sur Windows Server 2003 SP2. - Kev


J'ai utilisé un service fonctionnant en tant que compte 'Système local' et les données utilisateur sont stockées dans:

c:\Documents and Settings\LocalService

Ceci est un dossier caché et m'a pris un certain temps pour le trouver. J'espère que cela t'aides.


2
2018-05-18 11:08





Sur XP, il existe un "Profil système" situé dans C: \ WINDOWS \ system32 \ config \ systemprofile

Je pensais que c’était là que le système local acct était situé. Les comptes Service réseau et Service local possèdent tous les deux des profils cachés dans le dossier Documents and Settings.

Le dossier Utilisateur par défaut est généralement utilisé comme dossier de base à partir duquel les nouveaux comptes d'utilisateurs sont créés. Donc, si un nouvel utilisateur devait se connecter à un système pour la première fois. Leurs paramètres seraient initialement copiés à partir du profil utilisateur par défaut.


1
2018-05-18 13:51





A partir d'un processus réel exécuté en tant que SYSTEM (S-1-5-18).

  • GetUserName: SYSTEM
  • GetTempPath  C:\ProgramData\Microsoft\Search\Data\Temp\usgthrsvc\
  • CSIDL_APPDATA: C:\WINDOWS\system32\config\systemprofile\AppData\Roaming
  • CSIDL_LOCAL_APPDATA: C:\WINDOWS\system32\config\systemprofile\AppData\Local
  • CSIDL_COMMON_APPDATA: C:\ProgramData
  • CSIDL_PROFILE: C:\WINDOWS\system32\config\systemprofile
  • CSIDL_PERSONAL: (aucun)

1
2017-08-17 18:09