Вывести уникальное значение из вывода - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть скрипт, который отображает информацию о драйверах с хоста. Но я ищу уникальные значения вывода без дубликата Name-Device.

Состояние: - Incase, если Name-Device похож, но версия отличается. Я хочу также хранить информацию об имени и устройстве.

Name-Device                               Device-Class                              Module                                    Version                                 
-----------                               ------------                              ------                                    -------                                 
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.16, Build: 2494789, Int...
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.14, Build: 2494585, Int...

код: -

$host.system.module.get($hosthard.ModuleName) |
Select @{N='Name-Device';E={$hosthard.DeviceName}},@{N='Device-Class';E={$hosthard.DeviceClassName}},Module,Version | unique -OnType

выход: -

Name-Device                               Device-Class                              Module                                    Version                                 
-----------                               ------------                              ------                                    -------                                 
Lewisburg SATA AHCI Controller            SATA controller                           ahci                                      Version 3.0-26vmw, Build: 5050593, In...
Lewisburg USB 3.0 xHCI Controller         USB controller                            xhci                                      Version 1.0, Build: 4600944, Interfac...
Lewisburg PCI Express Root Port #1        PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Lewisburg PCI Express Root Port #5        PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
x1 PCIe Gen2 Bridge[Pilot4]               PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Sky Lake-E PCI Express Root Port 1A       PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
VIC 1300 PCIe Upstream Port               PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
VIC PCIe Downstream Port                  PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
VIC PCIe Upstream Port                    PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
VIC PCIe Downstream Port                  PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.14, Build: 2494585, Int...
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.14, Build: 2494585, Int...
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.14, Build: 2494585, Int...
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.14, Build: 2494585, Int...
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.14, Build: 2494585, Int...
Cisco VIC FCoE HBA Driver                 Fibre Channel                             fnic                                      Version 1.6.0.34, Build: 2494585, Int...
Cisco VIC FCoE HBA Driver                 Fibre Channel                             fnic                                      Version 1.6.0.34, Build: 2494585, Int...
Sky Lake-E PCI Express Root Port 1C       PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Cisco 12G Modular Raid Controller with... RAID bus controller                       lsi_mr3                                   7.701.14.00-1OEM.600.0.0.2768847        
Sky Lake-E PCI Express Root Port 1C       PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Sky Lake-E PCI Express Root Port 1D       PCI bridge                                vmkernel                                  Version Releasebuild-5050593            

Я ищу вывод, как показано ниже: -Я имею в виду уникальные значения не повторяются.

        Name-Device                               Device-Class                              Module                                    Version                                 
-----------                               ------------                              ------                                    -------                                 
Lewisburg SATA AHCI Controller            SATA controller                           ahci                                      Version 3.0-26vmw, Build: 5050593, In...
Lewisburg USB 3.0 xHCI Controller         USB controller                            xhci                                      Version 1.0, Build: 4600944, Interfac...
Lewisburg PCI Express Root Port #1        PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
x1 PCIe Gen2 Bridge[Pilot4]               PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Sky Lake-E PCI Express Root Port 1A       PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
VIC 1300 PCIe Upstream Port               PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
VIC PCIe Downstream Port                  PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
VIC PCIe Upstream Port                    PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Cisco VIC Ethernet NIC                    Ethernet controller                       enic                                      Version 2.3.0.14, Build: 2494585, Int...
Cisco VIC FCoE HBA Driver                 Fibre Channel                             fnic                                      Version 1.6.0.34, Build: 2494585, Int...
Sky Lake-E PCI Express Root Port 1C       PCI bridge                                vmkernel                                  Version Releasebuild-5050593            
Cisco 12G Modular Raid Controller with... RAID bus controller                       lsi_mr3                                   7.701.14.00-1OEM.600.0.0.2768847        
Sky Lake-E PCI Express Root Port 1C       PCI bridge                                vmkernel                                  Version Releasebuild-5050593

1 Ответ

0 голосов
/ 16 апреля 2019

Вы можете убрать концевые шестнадцатеричные значения и знак # от Name-Device

на лету с Sort-Object и параметром -Unique

| Sort-Object {($_.'Name-Device' -split ' [\d#a-f]{2,}$')[0]},Version -Unique

Это вернет:

Name-Device                               Device-Class        Module   Version
-----------                               ------------        ------   -------
Cisco 12G Modular Raid Controller with... RAID bus controller lsi_mr3  7.701.14.00-1OEM.600.0.0.2768847
Cisco VIC Ethernet NIC                    Ethernet controller enic     Version 2.3.0.14, Build: 2494585, Int...
Cisco VIC FCoE HBA Driver                 Fibre Channel       fnic     Version 1.6.0.34, Build: 2494585, Int...
Lewisburg PCI Express Root Port #1        PCI bridge          vmkernel Version Releasebuild-5050593
Lewisburg SATA AHCI Controller            SATA controller     ahci     Version 3.0-26vmw, Build: 5050593, In...
Lewisburg USB 3.0 xHCI Controller         USB controller      xhci     Version 1.0, Build: 4600944, Interfac...
Sky Lake-E PCI Express Root Port 1D       PCI bridge          vmkernel Version Releasebuild-5050593
VIC 1300 PCIe Upstream Port               PCI bridge          vmkernel Version Releasebuild-5050593
VIC PCIe Downstream Port                  PCI bridge          vmkernel Version Releasebuild-5050593
VIC PCIe Upstream Port                    PCI bridge          vmkernel Version Releasebuild-5050593
x1 PCIe Gen2 Bridge[Pilot4]               PCI bridge          vmkernel Version Releasebuild-5050593
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...