Build a collection of computers with slow network connections
This is going to be a little more difficult than simply creating a collection of PC that are reporting a connection less than 1gbps unfortunately...
I'm trying to find out how many computers in our 300+ PC network are testing out at or below 100 mbps. We have some strange network oddities happening (combination of janky misreporting switches, daisychained IP phones, etc) and I want to make sure that all of our users actually have a 1gbps connection to our network. While I've been able to easily build a collection that shows all of the hardwired PCs that are reporting a 100mbps connection, there are still going to be some PCs that are connected at 1gbps to their switch, but are slowed down by something else up the chain.
I have iPerf servers running on servers in each of our buildings so I am able to get relatively accurate readings if I run the tests one by one to the proper local server.
I've been able to concoct an automated iPerf test through PDQ Deploy to run useful speed tests with useful data, but I'm not quite sure how to collect this information in Inventory.
An example of the command I am running is as follow, but the IP can be changed to the pertinent server:
C:\temp\speedtest\iperf3.exe -c 192.168.200.18 -P 5
The results are listed as follows:
Connecting to host 192.168.200.18, port 5201
[ 4] local 192.168.202.97 port 60205 connected to 192.168.200.18 port 5201
[ 6] local 192.168.202.97 port 60206 connected to 192.168.200.18 port 5201
[ 8] local 192.168.202.97 port 60207 connected to 192.168.200.18 port 5201
[ 10] local 192.168.202.97 port 60208 connected to 192.168.200.18 port 5201
[ 12] local 192.168.202.97 port 60209 connected to 192.168.200.18 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 14.1 MBytes 118 Mbits/sec
[ 6] 0.00-1.00 sec 19.9 MBytes 167 Mbits/sec
[ 8] 0.00-1.00 sec 16.4 MBytes 137 Mbits/sec
[ 10] 0.00-1.00 sec 15.9 MBytes 133 Mbits/sec
[ 12] 0.00-1.00 sec 21.2 MBytes 178 Mbits/sec
[SUM] 0.00-1.00 sec 87.5 MBytes 734 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 1.00-2.00 sec 22.8 MBytes 191 Mbits/sec
[ 6] 1.00-2.00 sec 21.4 MBytes 179 Mbits/sec
[ 8] 1.00-2.00 sec 15.1 MBytes 127 Mbits/sec
[ 10] 1.00-2.00 sec 14.1 MBytes 118 Mbits/sec
[ 12] 1.00-2.00 sec 16.9 MBytes 142 Mbits/sec
[SUM] 1.00-2.00 sec 90.2 MBytes 757 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 2.00-3.00 sec 22.2 MBytes 186 Mbits/sec
[ 6] 2.00-3.00 sec 22.0 MBytes 184 Mbits/sec
[ 8] 2.00-3.00 sec 18.5 MBytes 155 Mbits/sec
[ 10] 2.00-3.00 sec 12.1 MBytes 102 Mbits/sec
[ 12] 2.00-3.00 sec 17.1 MBytes 143 Mbits/sec
[SUM] 2.00-3.00 sec 92.0 MBytes 771 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 3.00-4.00 sec 17.5 MBytes 147 Mbits/sec
[ 6] 3.00-4.00 sec 18.6 MBytes 156 Mbits/sec
[ 8] 3.00-4.00 sec 13.8 MBytes 115 Mbits/sec
[ 10] 3.00-4.00 sec 19.5 MBytes 164 Mbits/sec
[ 12] 3.00-4.00 sec 18.9 MBytes 158 Mbits/sec
[SUM] 3.00-4.00 sec 88.2 MBytes 741 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 4.00-5.00 sec 18.5 MBytes 155 Mbits/sec
[ 6] 4.00-5.00 sec 18.9 MBytes 158 Mbits/sec
[ 8] 4.00-5.00 sec 15.2 MBytes 128 Mbits/sec
[ 10] 4.00-5.00 sec 23.1 MBytes 194 Mbits/sec
[ 12] 4.00-5.00 sec 15.5 MBytes 130 Mbits/sec
[SUM] 4.00-5.00 sec 91.2 MBytes 765 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 5.00-6.00 sec 15.0 MBytes 126 Mbits/sec
[ 6] 5.00-6.00 sec 17.6 MBytes 148 Mbits/sec
[ 8] 5.00-6.00 sec 16.0 MBytes 134 Mbits/sec
[ 10] 5.00-6.00 sec 21.1 MBytes 177 Mbits/sec
[ 12] 5.00-6.00 sec 17.8 MBytes 149 Mbits/sec
[SUM] 5.00-6.00 sec 87.5 MBytes 734 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 6.00-7.00 sec 20.2 MBytes 170 Mbits/sec
[ 6] 6.00-7.00 sec 23.2 MBytes 195 Mbits/sec
[ 8] 6.00-7.00 sec 16.0 MBytes 134 Mbits/sec
[ 10] 6.00-7.00 sec 19.0 MBytes 159 Mbits/sec
[ 12] 6.00-7.00 sec 16.9 MBytes 142 Mbits/sec
[SUM] 6.00-7.00 sec 95.4 MBytes 800 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 7.00-8.00 sec 20.5 MBytes 172 Mbits/sec
[ 6] 7.00-8.00 sec 15.9 MBytes 133 Mbits/sec
[ 8] 7.00-8.00 sec 21.4 MBytes 179 Mbits/sec
[ 10] 7.00-8.00 sec 15.9 MBytes 133 Mbits/sec
[ 12] 7.00-8.00 sec 16.2 MBytes 136 Mbits/sec
[SUM] 7.00-8.00 sec 89.9 MBytes 753 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 8.00-9.00 sec 19.1 MBytes 161 Mbits/sec
[ 6] 8.00-9.00 sec 16.9 MBytes 142 Mbits/sec
[ 8] 8.00-9.00 sec 21.4 MBytes 180 Mbits/sec
[ 10] 8.00-9.00 sec 17.1 MBytes 144 Mbits/sec
[ 12] 8.00-9.00 sec 17.5 MBytes 147 Mbits/sec
[SUM] 8.00-9.00 sec 92.0 MBytes 774 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 9.00-10.00 sec 15.8 MBytes 132 Mbits/sec
[ 6] 9.00-10.00 sec 16.6 MBytes 140 Mbits/sec
[ 8] 9.00-10.00 sec 18.4 MBytes 154 Mbits/sec
[ 10] 9.00-10.00 sec 19.2 MBytes 162 Mbits/sec
[ 12] 9.00-10.00 sec 19.9 MBytes 167 Mbits/sec
[SUM] 9.00-10.00 sec 89.9 MBytes 754 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 186 MBytes 156 Mbits/sec sender
[ 4] 0.00-10.00 sec 186 MBytes 156 Mbits/sec receiver
[ 6] 0.00-10.00 sec 191 MBytes 160 Mbits/sec sender
[ 6] 0.00-10.00 sec 191 MBytes 160 Mbits/sec receiver
[ 8] 0.00-10.00 sec 172 MBytes 144 Mbits/sec sender
[ 8] 0.00-10.00 sec 172 MBytes 144 Mbits/sec receiver
[ 10] 0.00-10.00 sec 177 MBytes 149 Mbits/sec sender
[ 10] 0.00-10.00 sec 177 MBytes 148 Mbits/sec receiver
[ 12] 0.00-10.00 sec 178 MBytes 149 Mbits/sec sender
[ 12] 0.00-10.00 sec 178 MBytes 149 Mbits/sec receiver
[SUM] 0.00-10.00 sec 904 MBytes 758 Mbits/sec sender
[SUM] 0.00-10.00 sec 903 MBytes 758 Mbits/sec receiver
iperf Done.
What I'd like to do is collect the final number (the one italicized and not in bold above) and and create a collection for every computer will results less than 100 (or any arbitrary number for that matter) to assist with troubleshooting.
Any ideas??
Thanks in advance!
Comments
If you want to capture the output of the iperf.exe tool, you could look into creating a PowerShell scanner that parses the output of the .exe and outputs a PSCustomObject containing the values that you want. You could then create PDQ Inventory collections based on those values.
Using the PowerShell Scanner – Support (pdq.com)
Become a powershell expert and try again. Go it. :)
Please sign in to leave a comment.