Powercli Vm Mac ve SwitchName Listesi

Yazdığım scriptleri olabildiğince blog sayfam üzerimde paylaşmaya çalışyıorum. Geçen hafta bir arkadaşımın sanal sunucuların mac adreslerine ve bu mac adreslerinin bağlı olduğu distributed switch ve port group isimlerine ihityacı vardı.

Aşağıdaki script ile bu işlemi sağlayabilirsiniz. Her zaman uyarıda bulunuyorum ama yinede belirtmekte fayda var. Bu işlemleri yaparken kullandığınız usuerin ReadOnly olması yeterli.

Scipt çalıştıktan sona işlem yaptığı vm sayısını grafik olarak da görebiliyorsunuz. 

Vmware guest detaylarındaki bilgileriçin Switch isimleri bulunmuyor bu nedenle her guestin network kartının idleri ile port grouplardaki port idlerini eşleştirmem gerekti, buda sonuçların biraz daha yavaş gelmesine neden oluyor. Bu raporu her zaman kullanmanız gerekiyorsa hızlandırma için port isimlerini bir kez aldıktan sonra txt üzerinden okutabilirsiniz.

İşlem tamamlandıktan sonra destek altına bir csv dosyası oluşturarak bu dosyayı otomatik olarak açacaktır.

Import-Module -Name VMware.PowerCLI

$userName = $env:UserName
$filename = $(((get-date).ToUniversalTime()).ToString("yyyyMMddThhmmssZ"))

#vcenterip yerine esxi sunucu yada vcenter ip adresini giriniz.
Connect-VIServer -Server vcenterip

$vms = Get-Vm 
$toplam = $vms.Count
$sayi = 0
$detaylar = @()
foreach($vm in $vms){
$sayi ++
    Write-Progress -Activity "Toplam = $toplam VM " -Status $sayi -PercentComplete ($sayi / $toplam * 100)

  $detay =   $vm | Get-NetworkAdapter | select @{N="VmAd";E={$_.Parent}},@{N="PowerState";E={(Get-VM -Name $vm.Name).PowerState}},@{N="Hostname";E={(Get-VM -Name $vm.Name).Guest.HostName}},NetworkName,Name,MacAddress,@{N="DWSwitch";E={(Get-VDPortgroup -Name $_.NetworkName).VirtualSwitch}}


  $detaylar += $detay
}

$detaylar | Export-Csv "C:\Users\$userName\Desktop\$($filename).csv" -NoTypeInformation

Invoke-Item "C:\Users\$userName\Desktop\$($filename).csv"


Disconnect-VIServer -Server * -Force -Confirm:$false

Join the ConversationLeave a reply

Your email address will not be published. Required fields are marked *

Comment*

Name*

Website