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