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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
$File='C:\temp\Vlan.txt'
@'
2960#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
7 default active Gi1/0/41, Gi2/0/15, Gi2/0/17
Gi4/0/13, Gi4/0/25, Gi4/0/28
Gi4/0/29, Gi4/0/30, Gi4/0/31
Gi4/0/32, Gi4/0/33, Gi4/0/34
Gi4/0/35, Gi4/0/36, Gi4/0/37
6 ADMIN-SWITCH active
3 IntercoAruba active
15 WIFIDEH active
56 WIFIPEC active
99 CLIENT-ADM-LAN active Gi1/0/3, Gi1/0/6, Gi1/0/8
Gi1/0/9, Gi1/0/10, Gi1/0/11
Gi1/0/12, Gi1/0/13, Gi1/0/14
103 WIFITest active
1103 WIFITestTwo active Gi4/0/35, Gi4/0/36, Gi4/0/37
'@ > $File
$DebugPreference='continue'
function Concatener {
$new=''
foreach ($line in gc $file)
{
#write-debug "Line: $line"
if ($line -match '^\d{1,5} \w*')
{
write-debug "`t Match"
#filtre les 4 lignes de début
#sinon faire (gc $file)[3..-1] et supprimer ce test
if ($New -match '^\d{1,5} \w*')
{
write-debug "`t Emit New : $new"
Write-Output ($New -replace ', $','')
}
$New=$line+', '
}
else
{ $new +=$line+', '}
#write-debug "New : $new"
}
Write-Output ($New -replace ', $','')
}
$Liste=Concatener
$Liste
# 7 default active Gi1/0/41, Gi2/0/15, Gi2/0/17, Gi4/0/13, Gi4/0/25, Gi4/0/28, Gi4/0/29, Gi4/0/30, Gi4/0/31, Gi4/0/32, Gi4/0/33, Gi4/0/34, Gi4/0/35, Gi4/0/36, Gi4/0/37
# 6 ADMIN-SWITCH active
# 3 IntercoAruba active
# 15 WIFIDEH active
# 56 WIFIPEC active
# 99 CLIENT-ADM-LAN active Gi1/0/3, Gi1/0/6, Gi1/0/8, Gi1/0/9, Gi1/0/10, Gi1/0/11, Gi1/0/12, Gi1/0/13, Gi1/0/14
# 103 WIFITest active
# 1103 WIFITestTwo active Gi4/0/35, Gi4/0/36, Gi4/0/37 |