服务器上的Windows服务无法在没有用户登录的情况下运行

时间:2008-12-11 13:26:04

标签: c# .net windows-services windows-server-2003

我创建了一个基本上是文件监视器的Windows服务,除非用户登录到它的机器上,否则它不会运行。该服务在Windows Server 2003计算机上运行。它被设计为根据文件名中的关键字将放入一个目录的文件移动到不同的目录中,但是在我登录之前没有任何文件移动,然后所有文件一次移动。

3 个答案:

答案 0 :(得分:2)

您可能必须将服务设置为以特定用户身份登录,尝试进入服务,双击服务并选择“以帐户登录”,然后提供您的帐户详细信息(域\用户名和密码)。< / p>

LocalService帐户拥有广泛的权限,但可能缺乏对特定用户文件/文件夹的权限。您也可以尝试特别为LocalService帐户授予文件权限。然而,我会首先尝试“登录为”技巧,因为这是一个1分钟的工作。如果它有效,您可以创建一个特定帐户来运行服务,或者为LocalSystem授予权限。

顺便说一句:如果是网络文件,您可以尝试使用NetworkedService帐户。

答案 1 :(得分:0)

您的服务必须存在一些设置问题。没有用户登录,Windows Server在运行应用程序时没有问题(否则,计划任务的用处会非常少)。

您是如何安装服务的?

答案 2 :(得分:0)

需要做一些澄清:

  • 你提到了
  

除非用户登录到计算机上,否则不会运行的文件监视器

这是如何实施的?通常,服务在计算机启动时自动启动,因为每个Windows服务在不同的Windows工作站下运行,具有独立的安全上下文

  • 你还提到
  

但在我登录之前没有任何文件移动

这是不是与第一点相矛盾,因为这是它实施的目的吗? [我假设上述观点已经实施]

  • 服务是否配置为在特殊帐户下运行?
  • 服务器是否已配置为需要特殊权限才能在文件系统上移动文件?
寻找你感兴趣的贴纸↓↓↓
豫ICP备18024241号-1