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

95

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 système?

J'y pense C:\Documents and Settings\Default Usermais je n'en suis pas sûr.

Quelqu'un peut-il confirmer cela?

paulgreg
la source

Réponses:

114

Les données que vous recherchez ne doivent pas, par défaut, être situées dans "C: \ Documents and Settings \ Utilisateur par défaut". C'est 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 des données dans le dossier de données de l'application (% APPDATA%) ou dans 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 \ Vendor \ Program
  • 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 \ Vendor \ Program
  • C: \ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Vendor \ Program
  • C: \ Windows \ system32 \ config \ systemprofile \ AppData \ LocalLow \ Vendor \ Program
  • C: \ Windows \ system32 \ config \ systemprofile \ Documents

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

[Éditer - pour bricelam] Pour les processus 32 bits s'exécutant sur des fenêtres 64 bits, ce serait dans SysWOW64 .

  • C: \ Windows \ SysWOW64 \ config \ systemprofile \ AppData
Jay Michaud
la source
18
Pour les processus 32 bits s'exécutant sur les versions 64 bits de Windows, vérifiez plutôt sous "C: \ Windows \ SysWOW64".
Bricelam
1
Voir aussi la réponse ici: stackoverflow.com/questions/3637605/…
stolsvik
14

La destination change dans le temps. Sous Windows 10:

  • %systemroot%\ServiceProfiles

Par exemple:

  • C:\Windows\ServiceProfiles\LocalService
  • C:\Windows\ServiceProfiles\NetworkService
lu_ko
la source
1
Remarque: cela s'applique à LocalServiceet NetworkService, mais pas à LocalSystemce que la question demande. Ce sont trois comptes séparés, voir ici pour plus de détails
MM
6

Allez sur 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 de journalisation, 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.

Wayne
la source
2

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.

Les Enveloppeurs
la source
2

D'un vrai processus en cours d'exécution en tant que SYSTEM ( S-1-5-18).

  • GetUserName :SYSTEM
  • Utilisateur Sid :S-1-5-18
  • GetUserNameEx (NameFullyQualifiedDN) :CN=HYDROGEN,CN=Computers,DC=stackoverflow,DC=com
  • GetUserNameEx (NameSamCompatible) :STACKOVERFLOW\HYDROGEN$
  • GetUserNameEx (NameDisplay) :HYDROGEN$
  • GetUserNameEx (NameUniqueId) :{b413b030-8e9a-49d2-9157-20afd58792dd}
  • GetUserNameEx (NameCanonical) :stackoverflow.com/Computers/HYDROGEN
  • GetUserNameEx (NameUserPrincipal) :[email protected]
  • GetUserNameEx (NameCanonicalEx) :stackoverflow.com/ComputersHYDROGEN
  • GetUserNameEx (NameServicePrincipal) : n / a
  • GetTempPath :C:\WINDOWS\TEMP\
  • 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 : n / a

Service local

  • GetUserName :LOCAL SERVICE
  • Utilisateur Sid :S-1-5-1
  • GetUserNameEx (NameFullyQualifiedDN) : n / a
  • GetUserNameEx (NameSamCompatible) :NT AUTHORITY\LOCAL SERVICE
  • GetUserNameEx (NameDisplay) : n / a
  • GetUserNameEx (NameUniqueId) : n / a
  • GetUserNameEx (NameCanonical) : n / a
  • GetUserNameEx (NameUserPrincipal) : n / a
  • GetUserNameEx (NameCanonicalEx) : n / a
  • GetUserNameEx (NameServicePrincipal) : n / a
  • GetTempPath :C:\WINDOWS\SERVIC~3\LOCALS~1\AppData\Local\Temp\
  • CSIDL_APPDATA :C:\WINDOWS\ServiceProfiles\LocalService\AppData\Roaming
  • CSIDL_LOCAL_APPDATA :C:\WINDOWS\ServiceProfiles\LocalService\AppData\Local
  • CSIDL_COMMON_APPDATA :C:\ProgramData
  • CSIDL_PROFILE :C:\WINDOWS\ServiceProfiles\LocalService
  • CSIDL_PERSONAL :C:\WINDOWS\ServiceProfiles\LocalService\Documents

Service de réseau

  • GetUserName : " HYDROGEN $`
  • Utilisateur Sid : S-1-5-2`
  • GetUserNameEx (NameFullyQualifiedDN) :CN=HYDROGEN,CN=Computers,DC=avatopia,DC=com
  • GetUserNameEx (NameSamCompatible) :AVATOPIA\HYDROGEN$
  • GetUserNameEx (NameDisplay) :HYDROGEN$
  • GetUserNameEx (NameUniqueId) :{b413b030-8e9a-49d2-9157-20afd58792dd}
  • GetUserNameEx (NameCanonical) :stackoverflow.com/Computers/HYDROGEN
  • GetUserNameEx (NameUserPrincipal) :[email protected]
  • GetUserNameEx (NameCanonicalEx) :stackoverflow.com/ComputersHYDROGEN
  • GetUserNameEx (NameServicePrincipal) : n / a
  • GetTempPath :C:\WINDOWS\SERVIC~3\NETWOR~1\AppData\Local\Temp\
  • CSIDL_APPDATA :C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Roaming
  • CSIDL_LOCAL_APPDATA :C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Local
  • CSIDL_COMMON_APPDATA :C:\ProgramData
  • CSIDL_PROFILE :C:\WINDOWS\ServiceProfiles\NetworkService
  • CSIDL_PERSONAL :C:\WINDOWS\ServiceProfiles\NetworkService\Documents
Ian Boyd
la source
Je cherchais l'équivalent système de UserProfile, et CSIDL_PROFILE l'était. Je vous remercie!
carlin.scott
1

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

Je pensais que c’était là que se trouvait l’acct du système local. Les comptes Service réseau et Service local possèdent tous 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.

Rob Haupt
la source