Today I found myself clicking through a large number of text files containing information from Cisco switches. The text files contained a show run, show ver, show cdp neighbours and show interface status.
The customer wanted to know which interfaces had been hard-coded for speed or duplex and which interfaces had auto-negotiated to half duplex. After doing the first two by hand I realized Powershell could accomplish this quite quickly.
Get-ChildItem
-Recurse -Filter "show-run.txt" | Select-String "speed","duplex"
And the results:
172.16.3.101\show-run.txt:50: duplex half
172.16.3.101\show-run.txt:51: speed 100
172.16.3.103\show-run.txt:35: speed 10
172.16.3.103\show-run.txt:45: duplex half
172.16.3.103\show-run.txt:46: speed 10
172.16.3.103\show-run.txt:98: duplex full
172.16.3.103\show-run.txt:99: speed 100
172.16.3.166\show-run.txt:41: duplex half
172.16.3.166\show-run.txt:42: speed 100
To find the interfaces that have negotiated at half duplex:
Get-ChildItem -Recurse -Filter "show-int.txt" | Select-String "half"
The Results:
172.16.3.101\show-int.txt:10:Fa0/6 notconnect 1 Half 100 100BaseTX/FX
172.16.3.101\show-int.txt:21:Fa0/17 connected 1 A-Half A-10 100BaseTX/FX
172.16.3.101\show-int.txt:32:Gi0/1 connected 1 A-Half 1000 CX_GIGASTACK
172.16.3.102\show-int.txt:32:Gi0/1 connected 1 A-Half 1000 CX_GIGASTACK
172.16.3.103\show-int.txt:6:Fa0/4 connected 1 Half 10 100BaseTX/FX
172.16.3.106\show-int.txt:5:Fa0/1 connected 1 A-Half A-100 100BaseTX/FX
172.16.3.107\show-int.txt:32:Gi0/1 connected 1 A-Half 1000 CX_GIGASTACK
172.16.3.121\show-int.txt:32:Gi1/1 connected 1 A-Half 1000 CX_GIGASTACK
172.16.3.123\show-int.txt:32:Gi0/1 connected 1 A-Half 1000 CX_GIGASTACK
172.16.3.164\show-int.txt:33:Gi0/2 connected 1 A-Half 1000 CX_GIGASTACK
172.16.3.166\show-int.txt:5:Fa0/1 notconnect 1 Half 100 100BaseTX/FX
172.16.3.166\show-int.txt:32:Gi0/1 connected 1 A-Half 1000 CX_GIGASTACK
172.16.3.169\show-int.txt:33:Gi0/2 connected 1 A-Half 1000 CX_GIGASTACK
176.16.3.122\show-int.txt:31:Fa0/24 connected 1 A-Half A-100 100BaseTX/FX
...
Just saved myself half an hour of clicking through txt files!