我想创建一个在用户登录之前启动的Windows服务。我希望它在登录前启动,这样我就可以从组中删除用户(Windows用户)(确切地说是HomeUser),所以我不必重新登录。
所以我想:
知道如何在C#中实现这一目标吗?
修改
对于问题的第2部分;这里有关于如何执行此操作的链接:http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.groupprincipal.members.aspx
答案 0 :(得分:1)
启动时启动是任何服务可以执行的操作,只要它不需要任何GUI即可运行。它是服务的启动选项之一。只需按照这种方式设置,你就可以了。
至于将C#程序作为服务,我不太确定。也许他们有一些东西,但我想你至少需要将它包装在一些非托管的C ++中,以便与Windows服务API进行交互。
答案 1 :(得分:1)
怎么做:
在Visual Studio中使用Windows Service
(非WCF服务!)项目类型。
将您的实施置于OnStart´ method. Add a projectInstaller and configure it to install the service in the
已启动'模式。
编译项目,在projects.exe上运行`installutil.exe -i'
那应该安装你的服务,并在下次启动时启动它。
为什么要这样做?:
Tbh,听起来像是一次完成的事情,而不是每次启动“让团队中的用户失望”。除非有其他人将用户放回到组中,否则它将保持最后设置的状态。所以,每次冷启动都会让它变得多余。
另外请记住,修改安全设置是一项非常高的权限。允许的帐户数量不多。确保您的服务安装了具有这些级别权限的标识。