
Bir siteyi bilgisayarınızda tamamen engellemek istiyorsanız (reklam ya da izleme alan adları, dikkat dağıtan siteler, zararlı adresler…) en basit yol Windows’un hosts dosyasını kullanmaktır. Bu yazıda hosts dosyasına PowerShell komutlarıyla, Not Defteri ile uğraşmadan nasıl satır ekleyeceğinizi, eklediğiniz satırı nasıl kaldıracağınızı ve karşılaşabileceğiniz “erişim reddedildi” gibi hataları nasıl çözeceğinizi anlatıyoruz.
Hosts Dosyası Nedir?
Hosts dosyası, Windows’un bir alan adını (ör. orneksite.com) IP adresine çevirirken DNS’ten önce baktığı küçük bir metin dosyasıdır. Bir alan adını 0.0.0.0 adresine yönlendirirseniz bilgisayarınız o siteye hiç bağlanamaz, yani site engellenmiş olur.
Dosyanın konumu: C:\Windows\System32\drivers\etc\hosts
1. PowerShell’i Yönetici Olarak Açın
Başlat menüsüne sağ tıklayıp Terminal (Yönetici) ya da Windows PowerShell (Yönetici) seçin. Hosts dosyası korumalı bir sistem dosyası olduğu için yönetici izni şarttır.
2. Siteyi Engelleyen Komut
Aşağıdaki komutta orneksite ve .com kısımlarını engellemek istediğiniz sitenin adıyla değiştirip PowerShell’e yapıştırın:
$h = "$env:windir\System32\drivers\etc\hosts"
$d = "orneksite" + ".com"
attrib -r $h
Add-Content -Path $h -Value "`r`n0.0.0.0 $d"
Add-Content -Path $h -Value ("0.0.0.0 " + "www." + $d)
ipconfig /flushdns
Get-Content $h -Tail 3
Komut satır satır şunları yapar:
$h: Hosts dosyasının yolunu bir değişkene atar.$d: Engellenecek alan adını tutar.attrib -r: Dosyada salt okunur özelliği varsa kaldırır. “Erişim reddedildi” hatasının en sık sebebi budur.Add-Content: Sitenin hem çıplak hem de www‘li adresini0.0.0.0adresine yönlendiren satırları ekler.ipconfig /flushdns: DNS önbelleğini temizler, böylece değişiklik hemen geçerli olur.Get-Content -Tail 3: Dosyanın son satırlarını gösterir. Eklediğiniz satırları burada görmelisiniz.
💡 Neden alan adını parça parça yazıyoruz? Komutu bir sohbet uygulamasından, e-postadan ya da web sayfasından kopyaladığınızda
www.site.comgibi metinler otomatik olarak link biçimine dönüşebilir ve hosts dosyasına[www.site.com](https://www.site.com)gibi bozuk bir satır yazılır. Windows bu satırı anlamaz."www." + $dbiçiminde parçalı yazmak bu sorunu tamamen ortadan kaldırır.
3. Birden Fazla Siteyi Tek Seferde Engelleme
$h = "$env:windir\System32\drivers\etc\hosts"
$liste = @("orneksite1.com", "orneksite2.net", "orneksite3.org")
attrib -r $h
foreach ($d in $liste) {
Add-Content -Path $h -Value "0.0.0.0 $d"
Add-Content -Path $h -Value ("0.0.0.0 " + "www." + $d)
}
ipconfig /flushdns
4. Engeli Kaldırma (Satırı Silme)
Bir siteyle ilgili tüm satırları silmek için:
$h = "$env:windir\System32\drivers\etc\hosts"
(Get-Content $h) | Where-Object { $_ -notmatch "orneksite" } | Set-Content $h
ipconfig /flushdns
Bu komut, içinde orneksite geçen bütün satırları dosyadan çıkarır, geri kalan satırlara dokunmaz. Yanlışlıkla bozuk bir satır yazdıysanız da aynı komutla temizleyip satırı yeniden ekleyebilirsiniz.
5. Engellemenin Çalıştığını Kontrol Edin
Select-String -Path $h -Pattern "\["
ping -n 1 orneksite.com
- İlk komut hiçbir şey yazdırmıyorsa dosyada link biçiminde bozuk satır yok demektir.
pingkomutu 0.0.0.0 adresine gidiyorsa ya da “Ping request could not find host” (ana bilgisayar bulunamadı) diyorsa engelleme çalışıyor ✅. Windows, 0.0.0.0’a yönlendirilen adresleri çoğu zaman hiç çözümlemez. Bu da sitenin engellendiği anlamına gelir.
Sık Karşılaşılan Sorunlar
“Erişim reddedildi” (UnauthorizedAccessException)
- PowerShell’i yönetici olarak açtığınızdan emin olun.
- Komuttaki
attrib -r $hsatırı salt okunur kilidini kaldırır. - Windows Güvenliği → Virüs ve tehdit koruması → Fidye yazılımı koruması altındaki Denetimli klasör erişimi açıksa geçici olarak kapatın.
- Başka bir antivirüs programı ya da hosts kilitleyen bir araç kullanıyorsanız o programın hosts korumasını kapatın.
Windows Defender satırı geri siliyor
Defender, bilinen bazı alan adlarını engelleyen satırları “SettingsModifier:Win32/HostsFileHijack” uyarısıyla tehdit sayıp kaldırabilir. Bu değişikliği bilerek yaptıysanız Windows Güvenliği → Koruma geçmişi bölümünde ilgili kaydı açıp Cihazda izin ver seçeneğini seçin.
Tarayıcıda site hâlâ açılıyor
Chrome, Edge ve Firefox’taki Güvenli DNS (DNS-over-HTTPS) özelliği hosts dosyasını atlayabilir. Chrome’da Ayarlar → Gizlilik ve güvenlik → Güvenlik → Güvenli DNS kullan seçeneğini kapatıp tarayıcıyı yeniden başlatın. Ayrıca tarayıcının kendi DNS önbelleği için Chrome adres çubuğuna chrome://net-internals/#dns yazıp Clear host cache düğmesine basın.
Not Defteri ile Elle Düzenleme (Alternatif)
- Not Defteri’ni yönetici olarak çalıştırın.
- Dosya → Aç menüsünden
C:\Windows\System32\drivers\etcklasörüne gidin ve dosya türünü Tüm dosyalar (*.*) yapın. - hosts dosyasını açın, en alta
0.0.0.0 orneksite.comsatırını ekleyip kaydedin. - Komut isteminde
ipconfig /flushdnsçalıştırın.
PowerShell yöntemi özellikle birden fazla bilgisayarda aynı işi yapacaksanız ya da sık sık site ekleyip çıkarıyorsanız büyük zaman kazandırır. Sorunuz olursa yorumlarda sorabilirsiniz.



