我有一个由
Windows服务启动的可执行文件,该程序将在客户机器上运行,并且需要连接到远程共享以执行特定任务.此份额由客户通过UI指定,因此我们事先并不知道这意味着它不能“硬编码”,或者预先映射共享.
以前我们要求客户登录他们的计算机并在登录时运行可执行文件,但我们一直希望允许我们的程序在服务中运行而不需要登录,主要是为了让客户更容易并防止任何意外注销关闭我们的软件.因此,这也意味着我们不知道客户机器上存在哪些本地用户帐户,因此我们必须使用本地系统帐户启动该服务.
如上所述,我们现在有一个包装器服务来启动可执行文件并执行各种任务.这似乎在大多数情况下都能正常工作并且可以很好地访问底层网络 – 我们的软件目的主要涉及捕获数据包等.
但是,当软件尝试连接到Windows共享(UNC名称)时,它无法连接.如果可执行文件是手动启动的,那么连接正常.
我一般看到解决这类问题的建议似乎都说使用用户帐户,因为系统帐户无法访问网络共享,但在我们的例子中这是不可能的.有没有其他方法可以让这个工作?
编辑:我忘了提到这个应用程序可以(并且最常见的是)在Win2K而不是XP上运行,我认为我说的是在XP之前本地网络帐户不可用?