PowerShell - 展开组对象
PowerShell - Expand Group-Object
我想扩展一个 PowerShell 组对象。
但只有第一个对象。
Get-EventLog -Logname system -EntryType "Error" | Group-Object 'InstanceID' | Select-Object Count, Name, @{Name="Message";Expression={$_.Group.Message[0]}} | Format-Table -Wrap
结果:
Count Name Message
----- ---- -------
161 17 ESIF(8.7.10200.12510) TYPE: ERROR MODULE: DPTF TIME 81546445 ms
这很好。但是如果只有 1 个事件计数:
Count Name Message
----- ---- -------
1 8193 V
他们只得到了第一个字符。
如何获得完整的第一个字符串?
有什么建议吗?
谢谢。
您可以使用 Select-Object
来 select 第一条消息。
Get-EventLog -Logname system -EntryType "Error" |
Group-Object 'InstanceID' | Select-Object Count, Name,
@{Name="Message";Expression={$_.Group.Message | select -first 1}} |
Format-Table -Wrap
我的示例输出与您的示例的唯一区别是,整个消息是针对单个计数条目而不是仅第一个字符收集的。
Count Name Message
----- ---- -------
8 15 The device driver for the Trusted Platform Module (TPM) encountered a non-recoverable error in the TPM hardware, which prevents TPM services (such as data encryption) from
being used. For further help, please contact the computer manufacturer.
6 3221232481 A timeout was reached (30000 milliseconds) while waiting for the GameDVR and Broadcast User Service_15bc71 service to connect.
3 20 Installation Failure: Windows failed to install the following update with error 0x80073d02: 9WZDNCRFJ364-MICROSOFT.SKYPEAPP.
1 36871 A fatal error occurred while creating a TLS client credential. The internal error state is 10013.
2 10001 The description for Event ID '10001' in Source 'DCOM' cannot be found. The local computer may not have the necessary registry information or message DLL files to display
1 3221232495 The Network List Service service terminated with the following error:
%%21
我想扩展一个 PowerShell 组对象。 但只有第一个对象。
Get-EventLog -Logname system -EntryType "Error" | Group-Object 'InstanceID' | Select-Object Count, Name, @{Name="Message";Expression={$_.Group.Message[0]}} | Format-Table -Wrap
结果:
Count Name Message
----- ---- -------
161 17 ESIF(8.7.10200.12510) TYPE: ERROR MODULE: DPTF TIME 81546445 ms
这很好。但是如果只有 1 个事件计数:
Count Name Message
----- ---- -------
1 8193 V
他们只得到了第一个字符。
如何获得完整的第一个字符串? 有什么建议吗?
谢谢。
您可以使用 Select-Object
来 select 第一条消息。
Get-EventLog -Logname system -EntryType "Error" |
Group-Object 'InstanceID' | Select-Object Count, Name,
@{Name="Message";Expression={$_.Group.Message | select -first 1}} |
Format-Table -Wrap
我的示例输出与您的示例的唯一区别是,整个消息是针对单个计数条目而不是仅第一个字符收集的。
Count Name Message
----- ---- -------
8 15 The device driver for the Trusted Platform Module (TPM) encountered a non-recoverable error in the TPM hardware, which prevents TPM services (such as data encryption) from
being used. For further help, please contact the computer manufacturer.
6 3221232481 A timeout was reached (30000 milliseconds) while waiting for the GameDVR and Broadcast User Service_15bc71 service to connect.
3 20 Installation Failure: Windows failed to install the following update with error 0x80073d02: 9WZDNCRFJ364-MICROSOFT.SKYPEAPP.
1 36871 A fatal error occurred while creating a TLS client credential. The internal error state is 10013.
2 10001 The description for Event ID '10001' in Source 'DCOM' cannot be found. The local computer may not have the necessary registry information or message DLL files to display
1 3221232495 The Network List Service service terminated with the following error:
%%21