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