我有两台装有Windows Server 2003的计算机。一台计算机在网络上有一些共享文件夹,另一台计算机有Windows服务(用C#编写,在网络服务帐户下运行),需要访问这些共享文件夹。
以下代码作为登录用户可以正常工作,但是在网络服务帐户下执行时会引发异常。
File.WriteAllText(@"C:\temp\temp.txt", File.ReadAllLines(@"\\NetworkServer\Test\test.txt")[0]);
[异常消息为Logon failure: unknown user name or bad password
。如何在网络服务帐户下使用此代码?它是Windows Server 2003中的设置,还是我需要向其中添加一些代码以使其起作用?
在网络共享上,您需要在运行服务的服务器上为“网络服务”帐户添加权限。 @nicholas指出,尽管这将起作用,但它可能会为用户提供过多的共享访问权限。
@ Nate的答案,据我所知,要么是错误的,要么是不清楚的。它没有解释Network Service
如何在网络上进行身份验证。
当网络服务帐户尝试访问远程服务器上的共享时,它将使用计算机帐户在网络上进行身份验证。授予权限后,该帐户将带有$后缀(例如servername$
)。