Path 网络服务帐户不接受本地路径

Path 网络服务帐户不接受本地路径,path,windows-services,user-accounts,network-drive,network-service,Path,Windows Services,User Accounts,Network Drive,Network Service,我正在创建一个作为服务运行的程序,并在一天中的某些时间点创建数据库备份(使用pg_dump.exe)。此程序需要能够将备份文件写入本地驱动器和映射的网络驱动器 起初,我无法写入网络驱动器,但通过以管理员帐户登录服务解决了这个问题。但是,我的老板希望程序运行时用户不必输入帐户的用户名和密码 我试图通过使用网络服务帐户(它不需要密码,并且总是有相同的名称)来解决这个问题。现在,我的程序将写入网络驱动器,但不会写入本地驱动器!我尝试使用常规的C:\\路径语法以及\\\C$\\语法和\\\C$\语法,但

我正在创建一个作为服务运行的程序,并在一天中的某些时间点创建数据库备份(使用pg_dump.exe)。此程序需要能够将备份文件写入本地驱动器和映射的网络驱动器

起初,我无法写入网络驱动器,但通过以管理员帐户登录服务解决了这个问题。但是,我的老板希望程序运行时用户不必输入帐户的用户名和密码

我试图通过使用网络服务帐户(它不需要密码,并且总是有相同的名称)来解决这个问题。现在,我的程序将写入网络驱动器,但不会写入本地驱动器!我尝试使用常规的
C:\\
路径语法以及
\\\C$\\
语法和
\\\C$\
语法,但都不起作用


有没有办法让网络服务帐户访问本地驱动器?

只要授予帐户访问这些文件/目录的权限,就可以了。要访问本地文件,需要调整文件和目录上的ACL。要通过网络共享进行访问,您必须更改文件ACL以及网络共享的权限

可以在Exploler UI中或从命令行使用标准的
icacls.exe
修改文件ACL。例如,此命令行将为网络服务提供目录和目录下的所有文件的读、写和删除权限

icacls c:\MyDirectory /T /grant "NT AUTHORITY\Network Service":(R,W,D)
使用
fsmgmt.msc
工具,可以更容易地从UI修改文件共享权限


您将需要确定需要应用的最小权限集。如果您根本不担心安全问题,您可以授予完全权限,但这几乎总是一种过激行为,如果出于任何原因服务受到破坏,您将获得更多的权限

我在安装时创建了一个新用户,并将其添加到Administrators组,从而解决了这个问题。这允许服务写入本地和网络驱动器,而无需在安装过程中输入密码/用户名信息。

谢谢您的回复!这个解决方案看起来是可行的,但我已经换了一种方式。我不使用网络服务用户,而是创建自己的用户并将其添加到Administrators用户组,因此我不需要向用户询问任何密码/用户名信息。