是否可以记录谁启动或停止了Windows服务?我有一些用C#编写的Windows服务。当有人停止或启动服务时,我希望能够识别它是谁并记录该信息。我尝试记录Environment.UserName,但即使在我的本地计算机上,它的计算结果也是SYSTEM。此外,这些服务目前正在Windows2000服务器上运行。在“系统”选项卡上的“事件查看器”(控制面板|管理工具|事件查看器)中,服务控制管理器记录每个启动和停止事件,我刚刚对此进行了测试并查看了结果。这给我留下了两件事:您可以在这些事件发生时查询或连接到服务控制管理器,或者您绝对可以查询事件查看器的“系统”日志以获取这些服务事件。希望能引导您找到解决方案。您可以根据这篇文章启用审核http://windowsitpro.com/systems-management/access-denied-auditing-users-who-might-be-starting-and-stopping-services另外,在OnStop()方法中发送给自己电子邮件提醒可能是个好主意。可能没有办法。您在环境用户处获得的任何常规.NET方法都将返回服务运行所依据的凭据的用户(通常是SYSTEM、LOCALSERVICE、NETWORKSERVICE等)。我可能做的是轮询系统以查看用户是否登录,并假设用户已经登录。当然,这不考虑因某种原因被系统关闭的服务(您的可能不会),并且只会在多个用户同时登录时帮助您缩小范围(但是,您始终可以单独登录他们).以上是C#学习教程:是否可以记录谁启动或停止了Windows服务?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——打开事件查看器(开始菜单->搜索“事件”,事件查看器就会打开,打开它)在事件查看器的左侧菜单中展开“Windows日志”。单击应用程序。(它将在常规选项卡中显示您的应用程序错误和描述。尝试再次启动您的服务,并在事件查看器的“常规”选项卡中查看短暂停止的确切原因。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
