0

我正在尝试使用 powershell 过滤 logman 命令的结果。我试图选择一个属性,使用 where-object 进行过滤,但似乎 logman 的结果(存储在数组中)无法通过它们的属性访问。以下是我迄今为止尝试过的一些命令:

logman -ets query #returns result

logman -ets query | select-object #returns result

logman -ets query | select-object -first 10 -Property Status #nothing

logman -ets | where-object {$_.Status -eq "Running"} #nothing

logman -ets | where-object {$_.Status -eq "Running"} #nothing

logman -ets | where-object {$_.Status -gt "R"} -debug #nothing

我希望只过滤掉那些与我的本地服务结构模拟器有关的会话,这样我就可以掌握各种服务结构日志的存储位置。

有什么想法吗?

4

1 回答 1

1

logman,作为“外部”命令(实现为 .EXE 文件,而不是 PowerShell cmdlet),不会生成 PowerShell 中术语含义内的对象。相反,它会生成一个文本流,您必须对其进行解析。从外观上看,状态是该行的最后八个字符,因此您需要执行类似的操作

logman -ets query | Where-Object {-join $_[-8..-1] -eq "Running "}
于 2019-08-26T17:21:05.203 回答