-
Notifications
You must be signed in to change notification settings - Fork 489
/
queryHostPCIInfo.ps1
33 lines (26 loc) · 1.12 KB
/
queryHostPCIInfo.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Author: William Lam
# Website: www.virtuallyghetto
# Product: VMware vSphere
# Description: Script to extract ESXi PCI Device details such as Name, Vendor, VID, DID & SVID
# Reference: http://www.williamlam.com/2015/05/extracting-vid-did-svid-from-pci-devices-in-esxi-using-vsphere-api.html
$server = Connect-VIServer -Server 192.168.1.60 -User administrator@vghetto.local -Password VMware1!
$vihosts = Get-View -Server $server -ViewType HostSystem -Property Name,Hardware.PciDevice
$devices_results = @()
foreach ($vihost in $vihosts) {
$pciDevices = $vihost.Hardware.PciDevice
foreach ($pciDevice in $pciDevices) {
$details = "" | select HOST, DEVICE, VENDOR, VID, DID, SVID
$vid = [String]::Format("{0:x}", $pciDevice.VendorId)
$did = [String]::Format("{0:x}", $pciDevice.DeviceId)
$svid = [String]::Format("{0:x}", $pciDevice.SubVendorId)
$details.HOST = $vihost.Name
$details.DEVICE = $pciDevice.DeviceName
$details.VENDOR = $pciDevice.VendorName
$details.VID = $vid
$details.DID = $did
$details.SVID = $svid
$devices_results += $details
}
}
$devices_results
Disconnect-VIServer $server -Confirm:$false