Вопрос: Где я могу найти данные, хранящиеся в службе Windows, запущенной как «Локальная системная учетная запись»?


Я использую службу, которая хранит данные на диске. Служба работает как «локальная системная учетная запись».

Где хранятся данные для этого пользователя системы?

Я думаю о C:\Documents and Settings\Default User но я не уверен в этом.

Может ли кто-нибудь подтвердить это?


77
2018-05-18 09:13


Источник




Ответы:


Данные, которые вы ищете, по умолчанию не должны находиться в «C: \ Documents and Settings \ Default User». Это местоположение профиля пользователя по умолчанию, который является шаблоном для новых пользовательских профилей. Его единственная функция должна быть скопирована в новую папку для использования в качестве профиля пользователя, когда пользователь впервые заходит на компьютер.

Если служба соответствует рекомендациям Microsoft, она будет хранить данные в папку данных приложения (% APPDATA%) или папку данных локальных приложений (% LOCALAPPDATA% в Windows Vista и более поздних версиях). Он не должен использовать папки «Мои документы» или «Документы», но вы также можете проверить их.

При типичной установке Windows XP или Windows Server 2003 проверьте следующие местоположения для данных приложения для программ, работающих как локальная система (NT AUTHORITY \ SYSTEM):

  • C: \ Windows \ system32 \ config \ systemprofile \ Application Data \продавец\программа
  • C: \ Windows \ system32 \ config \ systemprofile \ Local Settings \ Application Data \продавец\программа
  • C: \ Windows \ system32 \ config \ systemprofile \ Мои документы

При типичной установке Windows Vista и более поздних версий проверьте следующие местоположения для данных приложения для программ, работающих как Local System (NT AUTHORITY \ SYSTEM):

  • C: \ Windows \ System32 \ Config \ systemprofile \ AppData \ Roaming \продавец\программа
  • C: \ Windows \ System32 \ Config \ systemprofile \ AppData \ Local \продавец\программа
  • C: \ Windows \ System32 \ Config \ systemprofile \ AppData \ LocalLow \продавец\программа
  • C: \ Windows \ System32 \ Config \ systemprofile \ Documents

Разумеется, замените соответствующее имя и название программы для имени продавец а также программа,

[Изменить - для bricelam] Для 32-битных процессов, запущенных на 64-битных окнах, это будет SysWOW64,

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

91
2018-05-18 15:48



Для 32-разрядных процессов, запущенных в 64-разрядных версиях Windows, вместо этого выберите «C: \ Windows \ SysWOW64». - bricelam
Также см. Ответ здесь: stackoverflow.com/questions/3637605/... - stolsvik


Место назначения меняется во времени. В Windows 10:

  • %systemroot%\ServiceProfiles

Например.:

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

11
2018-01-15 15:17



Примечание: это относится к LocalService а также NetworkService, но нет LocalSystem о котором спрашивает вопрос. Это три отдельных счета, глянь сюда более подробно - M.M


Идти к Sysinternals и скачать procmon. Вам нужно будет узнать имя exe, что служба работает как. Затем вы можете использовать фильтр в procmon, чтобы перечислять только те действия, которые были созданы этим приложением.

Теперь вы можете запустить список и определить, какой файл использует это приложение (ПРИМЕЧАНИЕ. После нескольких минут ведения журнала вы можете использовать меню файлов, чтобы остановить мониторинг)

Весь пакет Sysinternal можно загрузить как один zip-файл, и вы можете найти другие утилиты в наборе, которые могут быть полезны.


6
2018-05-18 10:57





Если ваша служба использует стандартные API для получения каталогов по умолчанию для пользователя (данные конфигурации и приложения), файлы будут сохранены в Default User, например:

C: \ Documents and Settings \ Default User \ Local Settings \

Итак, я бы подтвердил ваше предположение. Я проверил это в службе, которую я написал, которая работает как локальная системная учетная запись.


3
2018-05-18 09:35



+1: По крайней мере, для одной программы, которую я использую, это сработало, тогда как C:\Windows\system32\config\systemprofile\... параметры не были установлены в Windows Server 2003 с пакетом обновления 2 (SP2). - Kev


Я использовал службу, запущенную как учетная запись «Локальная система», и пользовательские данные хранятся в:

c:\Documents and Settings\LocalService

Это скрытая папка, и мне понадобилось некоторое время, чтобы ее найти. Надеюсь это поможет.


2
2018-05-18 11:08





В XP есть «Профиль системы», расположенный в папке C: \ WINDOWS \ system32 \ config \ systemprofile

Я подумал, что именно там находится локальная система. У учетных записей службы сети и локальной службы есть скрытые профили в папке «Документы и настройки».

Папка пользователя по умолчанию обычно используется как базовая папка, из которой созданы новые учетные записи пользователей. Поэтому, если новый пользователь должен был войти в систему в первый раз. Сначала их параметры будут скопированы из профиля пользователя по умолчанию.


1
2018-05-18 13:51





От реального процесса, выполняющегося как 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: (никто)

1
2017-08-17 18:09