Selamlar,
Öncelikle CDP nedir kısaca bir belirtelim; CDP (Cisco Discovery Protocol) cihazların birbirne kendi hakkında bilgi vermek için kullandığı layer 2 bir protokoldür. Karmaşık network’lerdeki cihazların komşuluk ilişkilerini belirlemek için kullanılır. Bu protocol sayesinde cihazlar birbirleri hakkında (hostname, ios version, port vb..) ayrıntılı bilgileri edinir.
Eğer ortamınızda CDP enable durumda ise; Host\Configuration\Networking altında sanal switch’lerinize bağlı NIC’lerin yanındaki konuşma butonuna tıklayarak ilgili NIC’in bağlı olduğu switch’e ait bilgileri görebilirsiniz.
10+ host ile çalıştığınız orta\büyük ölçekli yapılarda ; envanter bilgilerinizi güncellemek, yapınızın haritasını çıkartmak, audit çalışmaları sırasında gösterebilmek vs. bir çok sebeple bu switch bağlantı bilgilerine ihtiyacınız olabilir. Bu bilgileri tek tek almak oldukça zahmetli fakat aşağıdaki script’i kullanarak ortamınızdaki bütün host’lara bağlı NIC’lerin CDP bilgilerini export edebilirsiniz.
Script’i çalıştırmak için bilgisayarınızda PowerCLI’in kurulu olması gerekiyor detaylı bilgileri aşağıda listeliyorum;
- Eğer PowerCLI kullanmıyosanız buraya tıklayarak indirin.
- Kurulumu yaptıktan sonra PowerCLI’yi çalıştırın ve Connect-VIServer -Server “Vcenter\Host ip Adresi” -Protocol https -User “username” -Password “password” komuyu ile baglanın
- Aşağıdaki script’i notepad içerisine kopyalayarak istediğiniz bir isim verinve .ps1 olarak kaydedin
- PowerCLI konsol üzerinden script dosyasını attığınız dizine gelin scirpt’i çalıştırın
Get-VMHost | Get-View | ForEach-Object { $VMHost = $_ Get-View $VMHost.ConfigManager.NetworkSystem } | ForEach-Object { foreach ($physnic in $_.NetworkInfo.Pnic) { $pnicInfo = $_.QueryNetworkHint($physnic.Device) foreach($hint in $pnicInfo){ $Report = "" | Select-Object -Property VMHost,vmnic,DeviceId,PortId $Report.VMHost = $VMHost.Name $Report.vmnic = $physnic.Device $Report.DeviceId = $hint.connectedSwitchPort.DevId $Report.PortId = $hint.connectedSwitchPort.PortId $Report } } } | Sort-Object -Property VMHost,vmnic | ` Export-Csv -Path VMHostSwitchPorts.csv -NoTypeInformation -UseCulture |