如何在 W2K8 上使用 logman.exe 创建事件跟踪?

如何在 W2K8 上使用 logman.exe 创建事件跟踪?

由于各种原因,我想获取某些 Windows Server 2008 计算机上的磁盘访问跟踪信息。

我可以在可靠性和性能监视器工具中设置用户定义的数据收集器集,以使用“Windows 内核跟踪”提供程序(“磁盘”子选项)创建事件跟踪,并且这可以正常工作。

但是,我真的很想使用 logman.exe 命令来自动执行此操作。我想说,logman 上的文档很少。(如果有一些很棒的文档,我将非常感激您的指点!)我尝试使用带选项-ets和不带选项的两个命令,并使用logman create trace <name> <params>/logman start <name>-ets-onlylogman start <name> <params> -ets方法。

我尝试过的方法似乎都不起作用:

C:\>mkdir \tracedata

C:\>logman create trace DiskTr1 -p "Windows Kernel Trace" disk -o "C:\tracedata\DiskTr1"
The command completed successfully.

C:\>logman start DiskTr1

Error:
The session name provided is invalid.

C:\>logman start DiskTr2 -p "Windows Kernel Trace" disk -o "C:\tracedata\DiskTr2" -ets

Error:
The session name provided is invalid.

C:\>logman create trace DiskTr3 -p "Windows Kernel Trace" disk -o "C:\tracedata\DiskTr3" -ets

Error:
The session name provided is invalid.

我还尝试过使用提供程序的 GUID 和disk子选项的十六进制值的变体,但到目前为止似乎没有任何效果。

谢谢!

答案1

“Windows Kernel Trace”提供程序在 ETW 中被视为特殊提供程序,它只会记录到名为“NT Kernel Logger”的会话中。

http://www.daschmelzer.com/cmg2006/PDFs/096.pdf

答案2

按这个方法试试:

logman start "NT Kernel Logger" -p "Windows Kernel Trace" (disk) -o events.etl -ets

相关内容