我有两台装有Windows Server 2003的计算机.一台计算机在网络上有一些共享文件夹,另一台计算机有一台需要访问这些共享文件夹的Windows服务(用C#编写,在网络服务帐户下运行).
以下代码可以作为登录用户正常工作,但在网络服务帐户下执行时会引发异常.
File.WriteAllText(@"C:\temp\temp.txt", File.ReadAllLines(@"\\NetworkServer\Test\test.txt")[0]);
异常消息是登录失败:未知用户名或密码错误.如何让此代码在网络服务帐户下运行?它是Windows Server 2003中的设置,还是我需要添加一些代码才能使其正常工作?
解决方法:
在网络共享上,您需要在运行该服务的服务器上为“网络服务”帐户添加权限.虽然这样可行,但@nicholas指出,这可能会为一组过多的用户提供访问共享的权限.
另一种选择,在我看来更好的选择是创建域帐户,然后为该帐户授予对该共享的读/写权限.然后,将服务配置为“以具有适当权限的域帐户运行”.