在IIS站点启动或停止时写入Windows事件日志

如果Web服务器上的某个站点启动或停止,是否可以将IIS 7.5configuration为写入Windows事件日志? 例如,当有人通过IISpipe理器用户界面启动/停止站点时。

我知道我可以为每个网站configurationApplication_On {开始,结束}来写一个自定义的消息到Windows事件日志,但我只是想知道是否有内置的东西。 我也知道如何激活应用程序池回收的日志logging,但是与启动/停止站点不同,特别是如果多个站点共享相同的应用程序池。

特别是,如果列出启动/停止站点的用户的名字将非常有帮助。

我已经尝试过的一件事是启用日志到IISconfiguration> {pipe理,操作}事件日志,但不幸的是没有什么时候会出现启动/停止。

几件事情。 当我启用Microsoft-Windows-IIS-Configuration / Operational事件日志时,我确实在站点启动或停止时收到事件。 我收到了这个内容的“详细”事件29:

'MACHINE / WEBROOT / APPHOST'中对'/system.applicationHost/sites/site[@name="DefaultWebSite“和@id =”1“] / @state'的更改已成功提交。

这是在Server 2008 R2上。 现在这并不告诉你网站是启动还是停止,只是表示它改变了状态。 如果您监视该日志可能会有所帮助。

很久以前,我写了这个: http : //www.eventsentry.com/blog/2010/02/how-to-really-monitor-smtp-pop.html 。 这是一个VBScript,它将枚举在IIS中的虚拟目录,并告诉你,当他们中的一个被停止。 这工作在2003年,但不幸的是不2008年。可能是一个起点,我会在某个时候重新审视这个,所以我们可以更新脚本。

不是答案,但可能会让你更接近你想要达到的目标。 你肯定会需要一些脚本(这可能是触发上述事件),这将枚举的网站和他们的地位。

查看事件日志ID 29的XML视图。您可以看到OldValue和NewValue从一个状态变为另一个状态

OldValue>启动NewValue>停止

MACHINE / WEBROOT / APPHOST /system.applicationHost/sites/site[@name="DefaultWebSite“and @ id =”1“] / @ state)\ C:\ Windows \ system32 \ inetsrv \ config \ applicationHost.config 1起始停止

你想要做的不是本地内置到Windows / IIS。

我认为唯一能够接近的是查找日志头文件被重写的时间。 日志标题会被重新写入起始和停止,因此您可以很好地了解何时,但不知道是谁。

所以,再次,我很抱歉地说,不。