Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在远程计算机上授予窗口服务访问权限?_C#_Windows Services - Fatal编程技术网

C# 如何在远程计算机上授予窗口服务访问权限?

C# 如何在远程计算机上授予窗口服务访问权限?,c#,windows-services,C#,Windows Services,我正在使用一个Windows服务,它的任务之一是在远程计算机上存档文件,但我在访问权限方面遇到问题“访问id被拒绝” 服务帐户为“LocalService” 如何授予服务对远程计算机的访问权限?LocalService不能对另一台计算机拥有权限,因此,您需要将服务帐户更改为其他帐户,并确保该帐户在远程计算机上具有必要的权限。服务器1上的服务在本地服务主体下运行,并尝试访问服务器2上的文件夹,这被视为匿名连接尝试,根据具体情况而定server2的策略。因此,您需要在server2上允许匿名访问或更

我正在使用一个Windows服务,它的任务之一是在远程计算机上存档文件,但我在访问权限方面遇到问题“访问id被拒绝”

服务帐户为“LocalService”


如何授予服务对远程计算机的访问权限?

LocalService不能对另一台计算机拥有权限,因此,您需要将服务帐户更改为其他帐户,并确保该帐户在远程计算机上具有必要的权限。

服务器1上的服务在本地服务主体下运行,并尝试访问服务器2上的文件夹,这被视为匿名连接尝试,根据具体情况而定server2的策略。因此,您需要在server2上允许匿名访问或更改服务帐户(推荐)。

您需要在两台计算机都能识别的专用帐户(如域帐户)中运行服务。然后授予此帐户访问第二台计算机所需的ACL权限

如果您不在域中,则可以使用相同的用户名和密码来执行某些操作


另一种方法是使用“网络服务”帐户-这将通过托管服务的机器的身份进行身份验证;它可以工作,但就我个人而言,我喜欢专用帐户方法-它可以更容易地实现细粒度安全,并且意味着您可以不费吹灰之力将服务重新定位到另一台主机。

您能解释一下如何使用“网络服务”帐户吗?这个帐户是[yourdomain]\[computername]-只需将该帐户放入您正在联系的服务器上的ACL(例如,在共享权限对话框上,等等)。大多数安装程序(包括.NET中的服务安装程序)允许您指定此帐户…我从您那里得到的是,将服务帐户设置为网络服务,并在共享文件夹上设置该服务的权限,对吗?如果是,如何授予共享文件夹上的服务?在“共享文件夹权限”对话框中,只需查找另一台计算机的帐户即可。在输入账户的屏幕上查找账户类型/对象类型选项;它可能默认为用户;将其更改为机器…对我来说,这些设置位于对话框的“高级…”部分。或者直接输入域名\机器名对。