如何使用 powershell cmdlet 处理 logman 结果?
How do I work with logman results using powershell cmdlets?
我正在尝试使用 powershell 过滤 logman 命令的结果。我尝试 select 单个 属性,使用 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
作为一个 "external" 命令(作为 .EXE 文件而不是 PowerShell cmdlet 实现的命令)不会生成 PowerShell 中术语含义内的对象。相反,它会生成一个文本流,您必须对其进行解析。从外观上看,状态是该行的最后八个字符,因此您需要执行类似
的操作
logman -ets query | Where-Object {-join $_[-8..-1] -eq "Running "}
我正在尝试使用 powershell 过滤 logman 命令的结果。我尝试 select 单个 属性,使用 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
作为一个 "external" 命令(作为 .EXE 文件而不是 PowerShell cmdlet 实现的命令)不会生成 PowerShell 中术语含义内的对象。相反,它会生成一个文本流,您必须对其进行解析。从外观上看,状态是该行的最后八个字符,因此您需要执行类似
logman -ets query | Where-Object {-join $_[-8..-1] -eq "Running "}