Windows 服务无法访问网络共享 [关闭]

Posted

技术标签:

【中文标题】Windows 服务无法访问网络共享 [关闭]【英文标题】:Windows Service can't access network share [closed] 【发布时间】:2011-04-07 00:44:22 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

在这里找到了解决方案: https://serverfault.com/questions/177139/windows-service-cant-access-network-share

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

问题源于这样一个事实,即要登录到不在域中的机器,您必须使用该机器上存在的帐户登录该机器。该机器帐户肯定不会在该本地机器上存在。通过创建具有相同密码的相同用户,您可能能够使登录工作正常。”

-sysadmin1138

我在两台机器上创建了相同的帐户,并且服务帐户能够访问共享驱动器。将服务器放在同一个域中是更好的解决方案,因此我正在努力实现这一目标,但同时这将起作用。

【讨论】:

如果我无法触摸远程服务器怎么办。有其他选择吗?【参考方案2】:

Brian T 是正确的。但我想补充一点。即使服务在同一个 DOMAIN\User 上运行,我们也遇到了这个问题。我们的服务试图将文件写入共享文件夹/驱动器,它在 config.xml 中配置如下: 我:/path/to/the/file/to/write.

但是当我们将配置更改为使用网络的 IP 地址而不是驱动器号时,我们设法解决了这个问题。但是语法有点改变:

\\xxx.xxx.xx.xx\path\to\the\folder\to\write

希望这对尚未解决问题的人有所帮助

【讨论】:

这可能是由交互式登录时进行的驱动器号映射引起的。服务可以作为用户进行身份验证,但不能以交互方式登录。这意味着他们不运行登录脚本。【参考方案3】:

设置共享权限是不够的。还要充分设置 NTFS 权限,然后它就会工作。每个人都完全控制共享意味着,每个人都可以通过网络到达共享的根目录,但从那时起,NTFS 权限用于确定允许和不允许的内容。

【讨论】:

在哪里可以更改 NTFS 权限?我在“共享权限”和“安全”选项卡下都将“完全控制”设置为“所有人” NTFS 权限位于安全选项卡中。注意“高级”中的拒绝权限。它们覆盖给定用户的任何其他权限。如果用户是多个组的成员,则也适用最严格的权限。 ACL 权限确实是一件困难的事情。我也很确定那里有问题。还要检查权限应用的级别(“此文件夹、子文件夹和文件”)它们也仅在高级选项卡中可见。希望能帮助到你。选项卡有效权限允许您查看用户(最终)拥有哪些权限。

以上是关于Windows 服务无法访问网络共享 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

共享文件夹 因引用账户被锁定 无法访问

win10共享文件夹无法访问怎么办

系统安全——Windows中的共享文件和文件服务器

Windows 无法使用139端口访问共享

FTP连接不上、提示无法访问此文件夹。无法与服务器建立

电脑打开FTP文件夹出错提示Windows无法访问解决方法