Capture and parse CDP and LLDP packets on local or remote computers
PSDiscoveryProtocol does not return all information available in CDP and LLDP packets. If you want to know what information is available use Export-Pcap
and open the pcap file in Wireshark or another tool with a more complete implementation.
Install-Module -Name PSDiscoveryProtocol
PSDiscoveryProtocol can add port information to SCCM Hardware Inventory on your Windows 10 clients.
Take a look here for details: PSDiscoveryProtocol-SCCM-HWInventory
On this page you will find a few examples of how to use this module.
For more examples please read help:
Get-Help -Name Invoke-DiscoveryProtocolCapture -Full
Get-Help -Name Get-DiscoveryProtocolData -Full
Get-Help -Name Export-Pcap -Full
$Packet = Invoke-DiscoveryProtocolCapture -Type LLDP
Get-DiscoveryProtocolData -Packet $Packet
Model : WS-C2960-48TT-L
Description : HR Workstation
VLAN : 10
Port : Fa0/1
Device : SWITCH1.domain.example
IPAddress : 192.0.2.10
Computer : COMPUTER1.domain.example
Type : LLDP
'COMPUTER1', 'COMPUTER2' | Invoke-DiscoveryProtocolCapture -Type CDP | Get-DiscoveryProtocolData
Port : FastEthernet0/1
Device : SWITCH1.domain.example
Model : cisco WS-C2960-48TT-L
IPAddress : 192.0.2.10
VLAN : 10
Computer : COMPUTER1.domain.example
Type : CDP
Port : FastEthernet0/2
Device : SWITCH1.domain.example
Model : cisco WS-C2960-48TT-L
IPAddress : 192.0.2.10
VLAN : 20
Computer : COMPUTER2.domain.example
Type : CDP
'COMPUTER1', 'COMPUTER2' | Invoke-DiscoveryProtocolCapture | Export-Pcap -Path packets.pcap
By leveraging the new -Parallel
parameter on ForEach-Object
we can capture simultaneously on multiple computers.
#Requires -Version 7
'COMPUTER1', 'COMPUTER2', 'COMPUTER3' | ForEach-Object -Parallel {
Invoke-DiscoveryProtocolCapture -ComputerName $_ | Get-DiscoveryProtocolData
}