使用网络服务帐户访问Windows共享

问题描述 投票:5回答:3

我有两台装有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中的设置,还是我需要向其中添加一些代码以使其起作用?

c# windows-services credentials network-share windows-share
3个回答
3
投票

在网络共享上,您需要在运行服务的服务器上为“网络服务”帐户添加权限。 @nicholas指出,尽管这将起作用,但它可能会为用户提供过多的共享访问权限。


1
投票

@ Nate的答案,据我所知,要么是错误的,要么是不清楚的。它没有解释Network Service如何在网络上进行身份验证。


0
投票

当网络服务帐户尝试访问远程服务器上的共享时,它将使用计算机帐户在网络上进行身份验证。授予权限后,该帐户将带有$后缀(例如servername$)。

© www.soinside.com 2019 - 2024. All rights reserved.