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

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

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

有人可以确认吗?

#1 楼

默认情况下,您查找的数据不应位于“ 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 \ Vendor \ Program

C: \ Windows \ system32 \ config \ systemprofile \ Local Settings \ Application Data \ Vendor \ Program

C:\ Windows \ system32 \ config \ systemprofile \ My Documents

在典型的安装Windows Vista和更高版本时,请检查以下位置的应用程序数据的位置,以查找作为本地系统(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:\ Wind ows \ system32 \ config \ systemprofile \ Documents

当然,用适当的供应商名称和程序名称代替Vendor和Program。

[编辑-bricelam]
对于在64位窗口上运行的32位进程,它将在SysWOW64中。


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


评论


对于在64位版本的Windows上运行的32位进程,请改为在“ C:\ Windows \ SysWOW64”下进行检查。

–bricelam
13 Mar 9 '13 at 0:58



另请参见此处的答案:stackoverflow.com/questions/3637605/…

–stolsvik
13年7月24日在8:18

#2 楼

目的地随时间变化。在Windows 10上:

%systemroot%\ServiceProfiles

例如:

%systemroot%\ServiceProfiles\LocalService
%systemroot%\ServiceProfiles\NetworkService


评论


注意:这适用于LocalService和NetworkService,但不适用于问题所在的LocalSystem。这是三个单独的帐户,请参见此处以获取更多详细信息

– M.M
18年2月21日在23:12

#3 楼

转到Sysinternals并下载procmon。您将需要知道服务运行的exe的名称。然后,您可以在procmon中使用过滤器以仅列出该应用程序生成的那些活动。

您现在应该可以浏览列表并确定该应用程序正在使用哪个文件(注意:几分钟后日志记录后,您可以使用文件菜单停止监视)。

整个Sysinternal套件都可以作为一个zip文件下载,并且您可能会在工具包中找到其他有用的实用程序。

#4 楼

来自作为SYSTEM(S-1-5-18)运行的真实进程。



GetUserName:SYSTEM


用户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):USER-PC02$@stackoverflow.com


GetUserNameEx(NameCanonicalEx):stackoverflow.com/ComputersHYDROGEN


GetUserNameEx(NameServicePrincipal):不适用


GetTempPath:C:\WINDOWS\TEMP\


CSIDL_APPDATA:C:\WINDOWS\system32\config\systemprofile\AppData\Roaming


C:\WINDOWS\system32\config\systemprofile\AppData\Local


CSIDL_COMMON_APPDATA :C:\ProgramData


C:\WINDOWS\system32\config\systemprofile


CSIDL_PERSONAL:不适用



本地服务



GetUserName:LOCAL SERVICE


用户Sid: S-1-5-1


GetUserNameEx(NameFullyQualifiedDN):不适用


GetUserNameEx(NameSamCompatible):NT AUTHORITY\LOCAL SERVICE


GetUserNameEx(NameDisplay):不适用


GetUserNameEx(NameUniqueId):不适用


GetUserNameEx(NameCanonical):不适用


GetUserNameEx(NameUserPrincipal):不适用


GetUserNameEx(NameCanonicalEx):不适用


> GetUserNameEx(NameServicePrincipal):不适用


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


网络服务



GetUserName:“ HYDROGEN $`

用户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):USER-PC02$@stackoverflow.com


GetUserNameEx(NameCanonicalEx):stackoverflow.com/ComputersHYDROGEN


GetUserNameEx(NameServicePrincipal):不适用


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



评论


我在寻找等效于UserProfile的系统,而CSIDL_PROFILE就是它。谢谢!

–carlin.scott
19 Mar 7 '19 at 21:38

你有用来拉这个的代码吗?

– John Zabroski
20年7月3日在13:20

@JohnZabroski不。我刚刚创建了一个测试程序,该测试程序吐出了这些值,然后使用预定任务运行了该程序。它们都是简单的Windows Win32 API函数。

–伊恩·博伊德(Ian Boyd)
20年7月3日,19:21



当然,简单,但是可以节省创建时间。

– John Zabroski
20年7月6日在19:18

#5 楼

我使用了以“本地系统”帐户身份运行的服务,并且用户数据存储在以下位置:

c:\Documents and Settings\LocalService


这是一个隐藏的文件夹,我花了一段时间才找到它。希望这会有所帮助。

#6 楼

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

我认为这是本地系统acct所在的位置。网络服务和本地服务帐户在“文档和设置”文件夹中都具有隐藏的配置文件。

默认用户文件夹通常用作创建新用户帐户的基本文件夹。因此,如果新用户是第一次登录系统。它们的设置将首先从“默认用户”配置文件复制。