Eskiden ağ sorunlarıyla uğraşmak sabır isteyen bir işti. Bir bağlantı problemi yaşandığında sırasıyla ipconfig, ping, tracert, nslookup gibi komutları çalıştırır sonuçları tek tek yorumlamaya çalışırdık. Her bir araç ayrı pencerede, farklı bir bilgi düzeyinde çalışırdı.

Ama artık elimizde çok daha güçlü bir araç var: Windows PowerShell. PowerShell sayesinde yalnızca birkaç komutla IP yapılandırmasından DNS çözümlemesine, rotalardan port analizine kadar her detayı tek ekranda görebiliyoruz. Bu sistem yöneticileri için zaman kazandıran, son kullanıcılar içinse “neden internet çalışmıyor?” sorusuna net cevap veren modern bir yaklaşım.

Bu makalemde ağ sorunlarını tespit etme ve çözme sürecinde en etkili PowerShell komutlarını örnek senaryolarla birlikte detaylı biçimde anlatacağım.

Get-NetIPConfiguration — IP Yapılandırmasının Derin Görünümü

Klasik ipconfig /all çıktısına benzese de PowerShell’in bu komutu çok daha fazla bilgi sunar. Sadece IP adreslerini değil DNS ayarlarını, ağ geçitlerini, arabirim indeks numaralarını ve bağlantı profillerini de içerir.

Ne işe yarar?

  • IP çakışması olup olmadığını kontrol etmek
  • DHCP yerine statik IP atanıp atanmadığını görmek
  • DNS sunucularının doğru şekilde yapılandırıldığını doğrulamak
Get-NetIPConfiguration

Bu komutun çıktısını bir dosyaya yönlendirip ağ envanteri tutmak mümkündür:

Get-NetIPConfiguration | Out-File C:\Temp\netconfig.txt

Test-Connection — Ping’in Akıllı Hali

ping komutunun PowerShell versiyonu olan Test-Connection çok daha esnek ve detaylıdır.
İstersen farklı sayıda paket gönderebilir, yanıt sürelerini ölçebilir veya hata detaylarını alabilirsin.

Test-Connection -ComputerName 8.8.8.8 -Count 5

Ne işe yarar?

  • Ağda genel erişim olup olmadığını test eder
  • ICMP trafiğine izin verilmediğinde hata durumlarını gösterir
  • Belirli bir süre boyunca bağlantı kararlılığını ölçer

-AsJob parametresiyle komutu arka planda çalıştırıp diğer işlemlere devam edebilirsin:

Test-Connection -ComputerName 1.1.1.1 -AsJob

Test-NetConnection -TraceRoute — Ağ Rotasını Adım Adım Gör

Bu komut klasik tracert’in yerini modern biçimde almıştır. Bağlantının hangi noktada koptuğunu bulmak için idealdir.

Test-NetConnection -TraceRoute www.google.com

Kullanım örneği:
Eğer VPN bağlıyken belirli bir web sitesine ulaşamıyorsan, bu komut rotanın VPN tüneli üzerinden mi yoksa yerel ağdan mı geçtiğini gösterecektir.

Resolve-DnsName — Modern nslookup

nslookup yerine geçer ama çok daha fazla detay verir.
CNAME, MX, TXT gibi farklı kayıt türlerini doğrudan sorgulayabilirsin.

Resolve-DnsName www.microsoft.com

Faydalı senaryolar:

  • Web sitesi ismine karşılık gelen IP adresini doğrulamak
  • Yanlış DNS kayıtlarını tespit etmek
  • Domain’in farklı bölgelerdeki çözümleme farklarını görmek
  • İç DNS ve dış DNS sonuçlarını karşılaştırmak için:
Resolve-DnsName internalapp.local
Resolve-DnsName internalapp.local -Server 8.8.8.8

Test-NetConnection -Port 443 — Port Erişim Testi

Bir servis çalışıyor gibi görünse de port kapalıysa bağlantı başarısız olur.
Bu komutla belirli bir portun (örneğin HTTPS için 443 veya RDP için 3389) açık olup olmadığını test edebilirsin.

Test-NetConnection -ComputerName server01 -Port 3389

Kullanım senaryosu:

  • Güvenlik duvarı kurallarını test etmek
  • Web servisine dışarıdan erişim olup olmadığını kontrol etmek
  • Servis dinleme durumlarını doğrulamak

Komut aynı zamanda IP, rota, DNS çözümleme ve gecikme bilgilerini tek seferde verir. Yani hem “kapı açık mı?” hem “yol sağlam mı?” sorularına yanıt verir.

Get-NetAdapter — Ağ Kartının Nabzı

Bu komut, sistemdeki tüm ağ adaptörlerini listeler.
Bağlantı durumu, hız, donanım ID’si, MAC adresi ve sürücü bilgilerini gösterir.

Get-NetAdapter

Kullanım amacı:

  • Fiziksel veya sanal adaptörlerin durumunu kontrol etmek
  • Hangi arayüzün aktif olduğunu görmek
  • Hız düşüklüğü veya sürücü hatası tespit etmek


Sadece bağlı olanları görmek için:

Get-NetAdapter | Where-Object Status -eq "Up"

Get-NetRoute — Ağ Yönlendirmelerini Keşfet

Rota tablosu, sistemin hangi trafiği hangi arabirimden gönderdiğini belirler.
Yanlış bir rota, özellikle VPN veya çoklu NIC’lerde erişim sorunlarına yol açabilir.

Get-NetRoute

Gerçek kullanım:
Bir kullanıcının “VPN bağlıyken internete çıkamıyorum” demesi genellikle burada çözülür.
Default route’un (0.0.0.0/0) hangi arayüze atandığını kontrol ederek sorunu saptayabilirsin.

Get-NetTCPConnection — Açık Portları Gör

Tıpkı netstat gibi çalışır ama filtreleme yetenekleriyle çok daha kullanışlıdır.

Get-NetTCPConnection | Where-Object State -eq "Listen"

Kullanım alanı:

  • Hangi servislerin hangi portlarda dinlediğini görmek
  • Şüpheli bağlantıları tespit etmek
  • Performans veya güvenlik analizi yapmak

Get-DnsClientCache — DNS Önbelleğini Gör

Windows, DNS sonuçlarını hız için önbelleğe alır.
Ancak bazen bu kayıtlar bozulur veya güncelliğini yitirir.

Get-DnsClientCache

Ne işe yarar?

  • Hatalı yönlendirmeleri fark etmek
  • DNS çözüm geçmişini analiz etmek
  • Güncel olmayan kayıtları tespit etmek

Clear-DnsClientCache — Önbelleği Temizle

DNS kayıtları bozulduysa çözüm çok basittir:

Clear-DnsClientCache

Kullanım örneği:
Web sitesine erişemediğinde, başka bir cihazda çalışıyorsa genellikle DNS önbelleği hatalıdır.
Bu komut sorunu anında düzeltir.

Get-NetNeighbor — Ağdaki Komşuları Gör

ARP tablosunu gösterir, yani cihazların IP ve MAC adreslerini listeler.
Yerel ağda “kim var?” sorusunun cevabıdır.

Get-NetNeighbor

🔹 Kullanım alanı:

  • IP çakışmalarını bulmak
  • Ağda yeni cihazların tespitini yapmak
  • Güvenlik taramaları veya envanter oluşturmak

Test-NetConnection -InformationLevel Detailed — Hepsi Bir Arada Analiz

Tek komutla bağlantı, DNS, rota ve port kontrolü yapar.
Bir anlamda “tam teşhis paketi”dir.

Test-NetConnection -ComputerName www.google.com -InformationLevel Detailed

Avantajı:
Tek çıktıda DNS çözüm süresi, TCP bağlantı durumu, rota bilgisi ve ping sonucu yer alır.
Sorunun hangi katmanda (DNS mi, port mu, ağ mı?) olduğunu saniyeler içinde gösterir.

Get-NetAdapterStatistics — Performans Verileri

Ağ kartının gönderdiği ve aldığı bayt miktarını, hata oranlarını, çakışma sayılarını gösterir.

Get-NetAdapterStatistics

Neden önemli?
Ağ kablosu veya switch arızaları genellikle buradaki hata istatistiklerinden anlaşılır.
Özellikle paket kaybı veya düşük throughput durumlarında kontrol edilmelidir.

Get-NetConnectionProfile — Ağ Profili ve Güvenlik Düzeyi

Windows, ağ bağlantılarını Public, Private veya Domain olarak sınıflandırır.
Bu profil, güvenlik duvarı davranışını doğrudan etkiler.

Get-NetConnectionProfile

Kullanım alanı:

  • Yanlış profil yüzünden dosya paylaşımı engellenmiş mi?
  • Güvenlik duvarı kuralları doğru ağ profiline mi uygulanıyor?

Set-NetConnectionProfile -Name "Wi-Fi" -NetworkCategory Private

Restart-NetAdapter -Name “Wi-Fi” — Anında Yeniden Başlat

Ağ adaptörünü yeniden başlatmak bazen tüm sorunları çözer.
Bu komutla kabloyu çekmeden, bilgisayarı yeniden başlatmadan sıfırlama yapabilirsin.

Restart-NetAdapter -Name "Wi-Fi"

Ne işe yarar?

  • Geçici bağlantı hatalarını düzeltir
  • DHCP yenilemesini tetikler
  • Kablosuz ağ bağlantısını tazeler

İlginizi Çekebilir