从get-log命令返回的对象可能看起来像
Date: <date> Properties: statusCode : OK serviceRequestId: 97168d7a-4c92-4d65-b509-65785b14ef42 Name: <name> Details: <details>
我想通过做类似的事情来做一些返回一个对象的事情
get-log | where-object { $_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42' }
当然,这不起作用,但我想要一些像这样的东西。
我的目标是查看“详细信息”属性。
您提供的过滤示例按原样工作:
get-log | where-object { $_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42' }
这将返回您想要的对象(完整对象,而不仅仅是内部属性)。
因此,您可以使用其结果来获取任何其他属性,例如Details
:
$result = get-log | where-object { $_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42' }
$result.Details
或者你可以通过继续管道并使用Select-Object
在一行中完成所有操作:
get-log |
where-object {
$_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42'
} |
Select-Object -ExpandProperty Details
(为了更好的可读性,它在多行上做了)