如何使用 Powershell cmdlet 处理日志结果?



我正在尝试使用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

我希望只筛选出与本地服务结构模拟器相关的会话,以便我可以掌握各种服务结构日志的存储位置。

有什么想法吗?

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

logman -ets query | Where-Object {-join $_[-8..-1] -eq "Running "}

最新更新