Windows Service无法访问网络共享


9

我在本地计算机上运行Windows服务。它被配置为在NT AUTHORITY \ NETWORK SERVICE下运行。该程序访问同一子网中计算机上的网络共享驱动器。该共享目录将“所有人”设置为“完全控制”。

我在File.Exists()上得到False,但文件存在。我确定这是一个权限问题。我忘记了什么吗?请注意,具有共享驱动器的计算机不在域中。

Answers:


13

您的主要问题是带有共享驱动器的计算机不在域中。为了使它起作用,您将必须配置Windows Service以特定用户身份运行,然后必须在远程系统上使用相同的密码创建相同的用户。然后可能会起作用。

问题源于以下事实:要登录到不在域中的计算机,您必须使用该计算机上存在的帐户登录该计算机。该计算机帐户肯定不会在该本地计算机上存在。通过使用相同的密码创建相同的用户,您也许可以使登录名生效。


2
谢谢sysadmin。你是对的。一旦我在两台计算机上创建了相同的帐户,它就可以工作。因此理想的情况是将网络共享和运行服务所在的Windows Server置于同一域中。然后,我将创建一个域用户帐户来运行服务并有权访问共享。
Brian

确实是的。如果他们属于同一领域,则可以遵循托尼·罗斯的建议;像以前一样进行设置(网络服务),然后向机器帐户授予远程机器上的权限。
sysadmin1138

-1

更改它以在本地系统上运行,然后将machineaccount $分配给share / NTFS权限上的正确权限,请注意NTFS上的亮点也必须涵盖。


该死的错过了不在领域的部分
托尼·罗斯

我不明白; 我必须在远程计算机的共享权限中指定什么名称?
威伯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.