题 在哪里可以找到运行为“本地系统帐户”的Windows服务存储的数据?


我正在使用一种将数据存储在磁盘上的服务。 该服务作为“本地系统帐户”运行。

该系统用户的存储数据在哪里?

我在考虑 C:\Documents and Settings\Default User 但我不确定。

有人可以证实吗?


81
2018-05-18 09:13






答案:


默认情况下,您查找的数据不应位于“C:\ Documents and Settings \ Default User”中。这是默认用户配置文件的位置,该配置文件是新用户配置文件的模板。当用户第一次登录计算机时,它唯一的功能是复制到新文件夹以用作用户配置文件。

如果该服务遵循Microsoft的指导原则,它将存储数据 应用程序数据文件夹(%APPDATA%)或本地应用程序数据文件夹(Windows Vista及更高版本上的%LOCALAPPDATA%)。它不应该使用我的文档或文档文件夹,但您可能也想检查它。

在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 \ My Documents

在Windows Vista及更高版本的典型安装中,检查以下位置以查找作为本地系统(NT AUTHORITY \ SYSTEM)运行的程序的应用程序数据:

  • C:\ WINDOWS \ system32 \设置\ systemprofile \应用程序数据\漫游\供应商\程序
  • C:\ WINDOWS \ system32 \设置\ systemprofile \应用程序数据\本地\供应商\程序
  • C:\ WINDOWS \ system32 \设置\ systemprofile \应用程序数据\ LocalLow \供应商\程序
  • C:\ WINDOWS \ system32 \设置\ systemprofile \文件

当然,替换适当的供应商名称和程序名称 供应商 和 程序

[编辑 - 为bricelam] 对于在64位窗口上运行的32位进程,它将在 Syswow64资料

  • C:\ WINDOWS \ Syswow64资料\ CONFIG \ systemprofile \ AppData的

98
2018-05-18 15:48



对于在64位版本的Windows上运行的32位进程,请在“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 \默认用户\本地设置\

所以,我会证实你的假设。我检查了我写的一个以本地系统帐户运行的服务。


3
2018-05-18 09:35



+1:至少对于我使用的一个程序,这是有效的,而对 C:\Windows\system32\config\systemprofile\... Windows Server 2003 SP2上没有选项。 - Kev


我使用了作为“本地系统”帐户运行的服务,用户数据存储在:

c:\Documents and Settings\LocalService

这是一个隐藏文件夹,花了一段时间才找到它。希望这可以帮助。


2
2018-05-18 11:08





在XP上有一个位于C:\ WINDOWS \ system32 \ config \ systemprofile的“系统配置文件”

我认为那是Local System acct所在的位置。网络服务和本地服务帐户都在Documents and Settings文件夹中具有隐藏的配置文件。

默认用户文件夹通常用作创建新用户帐户的基本文件夹。因此,如果新用户第一次登录系统。他们的设置最初将从默认用户配置文件中复制。


1
2018-05-18 13:51





从作为SYSTEM运行的实际进程(S-1-5-18)。

  • GetUserNameSYSTEM
  • GetTempPath  C:\ProgramData\Microsoft\Search\Data\Temp\usgthrsvc\
  • CSIDL_APPDATAC:\WINDOWS\system32\config\systemprofile\AppData\Roaming
  • CSIDL_LOCAL_APPDATAC:\WINDOWS\system32\config\systemprofile\AppData\Local
  • CSIDL_COMMON_APPDATAC:\ProgramData
  • CSIDL_PROFILEC:\WINDOWS\system32\config\systemprofile
  • CSIDL_PERSONAL(没有)

1
2017-08-17 18:09