gpt4 book ai didi

windows-services - Windows 服务无法在启动时访问共享文件夹,直到手动启动或 Windows 资源管理器被摆弄

转载 作者:行者123 更新时间:2023-12-04 07:27:59 29 4
gpt4 key购买 nike

我有一个在本地系统中运行的 Windows 服务,它只是不断尝试访问具有\\machine\folder\file.txt 形式的 UNC 路径的文件,直到成功为止。当我手动启动服务时它立即成功,但在重新启动时它会出现系统错误 53(找不到网络路径),直到我执行诸如注销或“ fiddle ”之类的操作 Windows Explorer例如双击一个不相关的文本文件(我知道这很奇怪)。但是没有可靠的技巧;我不确定是什么触发它突然能够看到共享文件夹。

但是,我偶然发现了一个明显可靠的“解决方案”,即尝试在服务中对“net use I:\\machine\folder”执行 CreateProcess,以便在尝试访问共享文件夹之前映射它(我继续使用 UNC 路径,而不是我:)。 net use 调用似乎立即触发了我从服务访问共享文件夹的能力,尽管事实上 net use 调用本身可能会失败(我没有检查,因为您甚至不应该能够从服务映射驱动器)。

这听起来类似于 database connection doesn’t work when service starts at boot but works when it’s manually started但就我而言,它是一个网络共享文件夹,而且我知道它也可能在上述情况下突然开始工作。

我认为这不是权限问题,因为它在成功获得访问权限时展示了对共享文件夹的完全访问权限。但我想知道原因,以便我妥善处理。

最佳答案

LocalSystem 帐户没有实际的登录名或密码,因此如果在域中,将尝试使用计算机凭据连接到共享,否则以匿名方式连接。为此,共享将需要允许访问计算机帐户(通常是附加了 $ 的主机名)或允许访客访问而无需密码。

更好的做法可能是为要运行的服务创建一个新域帐户,并为新帐户适当设置权限。

关于windows-services - Windows 服务无法在启动时访问共享文件夹,直到手动启动或 Windows 资源管理器被摆弄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1942060/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com