是否可以记录谁启动或停止了Windows服务?
我有一些用C#编写的Windows服务。 当有人停止或启动服务时,我希望能够确定它是谁并记录该信息。
我尝试记录Environment.UserName
但即使在我的本地计算机上,它也会评估为SYSTEM。
此外,目前这些服务正在Windows 2000服务器上运行。
在“系统”选项卡上的“事件查看器”(“控制面板”|“管理工具”|“事件查看器”)中,服务控制管理器记录启动和停止每个事件 我刚刚测试了这个并查看了结果。 这让我有两件事:
- 您可以在服务控制管理器发生时查询或挂钩这些事件,或者
- 您绝对可以查询事件查看器的“系统”日志,以查找您的服务的这些事件。
希望能引导您找到解决方案。
您可以根据本文启用审核
https://windowsitpro.com/systems-management/access-denied-auditing-users-who-might-be-starting-and-stopping-services
此外,在OnStop()方法中向自己发送电子邮件警报可能是个好主意。
可能没有办法。 您在环境用户处获得的任何常规.NET方法都将返回其服务运行凭据的用户(通常是SYSTEM,LOCAL SERVICE,NETWORK SERVICE等)。
我可能会这样做是轮询系统以查看用户是否已登录,并假设用户已执行此操作。 当然,这会折扣由系统因某种原因关闭的服务(可能是您的服务不会),并且只能在一次登录多个用户的情况下帮助您缩小范围(但是,您可以总是记录它们两个)。
上述就是C#学习教程:是否可以记录谁启动或停止了Windows服务?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
- 只需打开事件查看器(开始菜单 – >搜索“事件”事件查看器将打开,打开它)
- 在事件查看器左侧菜单中展开“Windows日志”。
- 单击应用程序。 (它将在“常规”选项卡中显示您的应用程序错误和描述。
- 再次尝试启动您的服务,并从事件查看器查看在“常规”选项卡中短暂停止的确切原因。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1042394.html