Windows services 每个登录用户是否运行相同的windows服务?

Windows services 每个登录用户是否运行相同的windows服务?,windows-services,named-pipes,drivers,Windows Services,Named Pipes,Drivers,我正在构建一个Windows服务,它根据Windows用户登录的位置执行不同的操作。如果我在一个用户下安装我的服务,并将其设置为启动,那么即使当前有多个用户登录,是否会为每个登录的用户运行一个单独的服务实例,并继续运行 这是我想要的行为,但如果不可能,我将不得不计划其他事情 一般来说,每个用户登录会话都像自己的独立环境一样吗?换句话说,如果我安装了一个驱动程序,该驱动程序通过命名管道与我的服务交互,那么从当前登录用户的驱动程序发送的管道消息是否也会被其他登录用户下运行的其他服务实例接收(假设它们

我正在构建一个Windows服务,它根据Windows用户登录的位置执行不同的操作。如果我在一个用户下安装我的服务,并将其设置为启动,那么即使当前有多个用户登录,是否会为每个登录的用户运行一个单独的服务实例,并继续运行

这是我想要的行为,但如果不可能,我将不得不计划其他事情


一般来说,每个用户登录会话都像自己的独立环境一样吗?换句话说,如果我安装了一个驱动程序,该驱动程序通过命名管道与我的服务交互,那么从当前登录用户的驱动程序发送的管道消息是否也会被其他登录用户下运行的其他服务实例接收(假设它们运行单独的实例,如上所述)?或者它们是完全独立的环境,有自己的驱动程序/内核实例吗?

至少在XP中,服务只能有一个实例。当然,特权服务可以像其他用户一样创建流程,但它们在形式上不是服务。

至少在XP中,服务只能有一个实例。当然,特权服务可以像其他用户一样创建进程,但它们在形式上不是服务。

如前所述,Windows服务只有一个实例。默认情况下,它作为本地系统帐户运行,而不是作为任何特定用户运行(并且它无权访问单个用户的环境等)。它不会从当前登录的用户继承任何凭据。您可以为服务设置特定的用户凭据(例如,通过服务控制管理器),以作为任何给定用户运行服务的一个实例。但是您只能得到一个。

如前所述,Windows服务只有一个实例。默认情况下,它作为本地系统帐户运行,而不是作为任何特定用户运行(并且它无权访问单个用户的环境等)。它不会从当前登录的用户继承任何凭据。您可以为服务设置特定的用户凭据(例如,通过服务控制管理器),以作为任何给定用户运行服务的一个实例。但是你只能得到一个。

因此,如果我创建了一个特权服务,它会在Windows启动时启动,还是在第一个用户登录时启动?我会让它在新用户登录时为新用户启动一个新流程吗?在我的驱动程序示例中,我如何知道哪个用户执行了触发驱动程序与服务交互的操作?在服务上,把它们统统管理好对我来说很好,我只需要弄清楚这些细节。服务有两种方式开始。启动时,或“手动”。如果您希望登录触发它,您需要编写某种钩子(可能与GINA有关)来注意登录并启动您的服务。因此,请帮助我解决这个问题:我有一个Windows服务在服务器中运行,它是用管理员帐户(admin)安装的,但设置为用其他Windows帐户(admin2)启动的。当我使用admin2登录并停止Windows服务时,根据同一WS的操作,我注意到该服务仍然使用另一个帐户(admin)运行。如何确保windows服务只运行一次?因此,如果我创建了特权服务,它会在windows启动时启动,还是在第一个用户登录时启动?我会让它在新用户登录时为新用户启动一个新流程吗?在我的驱动程序示例中,我如何知道哪个用户执行了触发驱动程序与服务交互的操作?在服务上,把它们统统管理好对我来说很好,我只需要弄清楚这些细节。服务有两种方式开始。启动时,或“手动”。如果您希望登录触发它,您需要编写某种钩子(可能与GINA有关)来注意登录并启动您的服务。因此,请帮助我解决这个问题:我有一个Windows服务在服务器中运行,它是用管理员帐户(admin)安装的,但设置为用其他Windows帐户(admin2)启动的。当我使用admin2登录并停止Windows服务时,根据同一WS的操作,我注意到该服务仍然使用另一个帐户(admin)运行。如何确保windows服务只运行一次?