在登录前启动服务并从组中删除用户

时间:2010-02-12 18:32:32

标签: c# windows-services

我想创建一个在用户登录之前启动的Windows服务。我希望它在登录前启动,这样我就可以从组中删除用户(Windows用户)(确切地说是HomeUser),所以我不必重新登录。

所以我想:

  1. 创建在用户可以登录之前启动的服务
  2. 从群组中删除用户。
  3. 知道如何在C#中实现这一目标吗?

    修改

    对于问题的第2部分;这里有关于如何执行此操作的链接:http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.groupprincipal.members.aspx

2 个答案:

答案 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,听起来像是一次完成的事情,而不是每次启动“让团队中的用户失望”。除非有其他人将用户放回到组中,否则它将保持最后设置的状态。所以,每次冷启动都会让它变得多余。

另外请记住,修改安全设置是一项非常高的权限。允许的帐户数量不多。确保您的服务安装了具有这些级别权限的标识。

相关问题