Sanallaştırma ortamlarında zaman zaman birden fazla sanal makinenin (VM) bağlı olduğu portgroup’u değiştirme ihtiyacı doğar. Özellikle VLAN değişikliği, ağ segmentasyonu, test ortamından canlı ortama geçiş ya da güvenlik gereksinimleri gibi durumlarda bu işlem kaçınılmaz hale gelir.
Eğer bu işlemi her sanal makine için tek tek ve manuel olarak yapmaya kalkarsanız hem ciddi zaman kaybı yaşarsınız hem de hata yapma riskiniz artar.
Bu makalemde VMware PowerCLI kullanarak aynı portgroup’a bağlı birden fazla sanal makinenin ağ bağlantısını tek seferde nasıl değiştirebileceğinizi detaylı ve anlaşılır bir şekilde ele alacağız.
Anlatılan yöntem hem Standard Switch (vSS) hem de Distributed Switch (vDS) yapıları için ayrı ayrı hazırlanmış iki farklı script içermektedir.
Neden PowerCLI?
VMware PowerCLI, VMware ortamlarını PowerShell üzerinden yönetmemizi sağlayan güçlü bir araçtır. Özellikle büyük ortamlarda tekrarlayan işlemleri otomatikleştirmek için oldukça idealdir.
Bu senaryoda PowerCLI ile:
- Mevcut portgroup’u seçiyoruz
- Yeni portgroup’u seçiyoruz
- Seçilen eski portgroup’a bağlı tüm VM’leri tespit ediyoruz
- Bu VM’lerin network adapter’larını yeni portgroup’a taşıyoruz
Tamamen kontrollü ve kullanıcı seçimine dayalı bir işlem akışı sunuluyor.
Standard Switch (vSS) İçin Script
Bu script, klasik standard switch yapılarında kullanılan portgroup’lar için hazırlanmıştır.
Connect-VIServer vCenterServer-FQDN
$pg = Get-VirtualPortGroup | Out-GridView -OutputMode Single -Title "Select Current Portgroup"
$pgName = $pg.Name
$pg = Get-View -ViewType Network -Property Name,VM -Filter @{Name=$pgName}
$vmlist = Get-View -Id $pg.Vm -Property Name | Select-Object -ExpandProperty Name
####################################
$newpg = Get-VirtualPortGroup | Out-GridView -OutputMode Single -Title "Select New Portgroup"
$newpgname = $newpg.Name
foreach ($vm in $vmlist){
Get-VM -Name $vm | Get-NetworkAdapter | where{$_.NetworkName -eq $pg.Name} | Set-NetworkAdapter -NetworkName $newpg.Name -Confirm:$false
}
Distributed Switch (vDS) İçin Script
Eğer ortamınızda Distributed Switch kullanıyorsanız aşağıdaki script’i kullanmalısınız.
Connect-VIServer vCenterServer-FQDN
$pg = Get-VDPortGroup | Out-GridView -OutputMode Single -Title "Select Current Portgroup"
$pgName = $pg.Name
$pg = Get-View -ViewType Network -Property Name,VM -Filter @{Name=$pgName}
$vmlist = Get-View -Id $pg.Vm -Property Name | Select-Object -ExpandProperty Name
####################################
$newpg = Get-VDPortGroup | Out-GridView -OutputMode Single -Title "Select New Portgroup"
$newpgname = $newpg.Name
foreach ($vm in $vmlist){
Get-VM -Name $vm | Get-NetworkAdapter | where{$_.NetworkName -eq $pg.Name} | Set-NetworkAdapter -NetworkName $newpg.Name -Confirm:$false
}
Script’i Geliştirmek İçin Öneriler
Bu script temel ihtiyacı karşılıyor ancak biraz daha geliştirilebilir;
- vCenter bilgisini parametre olarak alma,
- İşlem öncesi dry-run (test modu) ekleme,
- Log kaydı oluşturma,
- Hata kontrol mekanizması ekleme,
- Belirli cluster veya folder filtreleme özelliği,
Örneğin parametreli hale getirerek daha profesyonel bir yapıya dönüştürebilirsiniz.
Dikkat Edilmesi Gerekenler
- VM’lerin ağ değişikliği sırasında kısa süreli bağlantı kesintisi yaşanabilir.
- VLAN ve fiziksel uplink yapılandırmalarının doğru olduğundan emin olun.
- Üretim ortamında çalıştırmadan önce test ortamında deneme yapmanız önerilir.
- Snapshot alınması kritik sistemler için güvenli bir yaklaşım olabilir.
Birden fazla sanal makinenin ağını değiştirmek, özellikle büyük ortamlarda ciddi zaman alabilir. PowerCLI kullanarak bu işlemi birkaç dakika içerisinde, kontrollü ve hatasız şekilde tamamlamak mümkündür.
Özellikle altyapı yöneten sistem uzmanları için bu tarz küçük ama etkili otomasyonlar günlük operasyonel yükü ciddi şekilde azaltır.
Eğer VMware altyapınızı daha verimli yönetmek istiyorsanız, PowerCLI otomasyonları kesinlikle araç setinizin bir parçası olmalıdır.
![[TR] VMware PowerCLI ile Birden Fazla Sanal Makinenin Ağını Toplu Olarak Değiştirmek (Standard ve Distributed Switch Yapılarında)](https://kadirkozan.com/wp-content/uploads/2026/02/VMware-logo-featured-1.jpg)
![[TR] VMware PowerCLI ile VMware ESXi Lisans Anahtarlarını Toplu Olarak Değiştirmek](https://kadirkozan.com/wp-content/uploads/2026/02/VMware-logo-featured-1-150x150.jpg)