आइए विशिष्ट वेबसाइटों, डोमेन नामों, URL या IP पतों तक पहुंच को विंडोज में थर्ड-पार्टी टूल्स के बिना ब्लॉक करने के कुछ तरीकों पर विचार करें। हमारे मामले में, हम अंतर्निहित विंडोज 10 टूल्स और पावरशेल ऑटोमेशन सुविधाओं का उपयोग करके कुछ वेबसाइटों को ब्लॉक करने का प्रयास करेंगे।
आमतौर पर अपने नेटवर्क राउटर (स्विच या वाई-फाई एक्सेस पॉइंट जिसका उपयोग आप इंटरनेट एक्सेस के लिए करते हैं) या थर्ड-पार्टी सॉफ़्टवेयर (कंटेंट फिल्टर, DNS फिल्टर, आदि) का उपयोग करके वेबसाइटों को ब्लॉक करना आसान होता है।
विंडोज में होस्ट्स फ़ाइल का उपयोग करके वेबसाइट ब्लॉक करना
विंडोज पर किसी विशिष्ट वेबसाइट को ब्लॉक करने का सबसे लोकप्रिय तरीका hosts फ़ाइल को संपादित करना है। आमतौर पर यह %windir%\system32\drivers\etc\ निर्देशिका में स्थित होता है। कृपया ध्यान दें कि hosts फ़ाइल का कोई एक्सटेंशन नहीं होता है।
hosts फ़ाइल वाली निर्देशिका का पथ रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters के तहत DataBasePath पैरामीटर में सेट होता है। डिफ़ॉल्ट रूप से यह %SystemRoot%\System32\drivers\etc है। 
hosts फ़ाइल का उपयोग IP पतों और DNS नामों के बीच मैन्युअल मैपिंग असाइन करने के लिए किया जाता है। नामों को हल करते समय, hosts की प्राथमिकता नेटवर्क कनेक्शन सेटिंग्स में निर्दिष्ट DNS सर्वरों से अधिक होती है।
किसी विशिष्ट वेबसाइट (उदाहरण के लिए, facebook.com) को ब्लॉक करने के लिए, hosts फ़ाइल को (व्यवस्थापक विशेषाधिकारों के साथ) खोलें और इसमें इन जैसी स्ट्रिंग्स जोड़ें:
127.0.0.1 facebook.com 127.0.0.1 www.facebook.com

फ़ाइल को सहेजें और अपने कंप्यूटर को पुनरारंभ करें (या कमांड का उपयोग करके DNS कैश साफ़ करें: ipconfig /flushdns)।
उसके बाद, किसी भी ब्राउज़र में facebook.com खोलने का प्रयास करने पर आपको संदेश "पृष्ठ नहीं मिला" / "पृष्ठ उपलब्ध नहीं" दिखाई देगा।
आप ऐसी .bat फ़ाइल का उपयोग करके अपने hosts फ़ाइल में वेबसाइट URL वाली नई लाइनें जोड़ सकते हैं:
@echo off
set hostspath=%windir%\System32\drivers\etc\hosts
echo 127.0.0.1 www.facebook.com >> %hostspath%
echo 127.0.0.1 facebook.com >> %hostspath%
exit
या आप अपने hosts फ़ाइल में विशिष्ट वेबसाइटों को स्वचालित रूप से ब्लॉक करने के लिए निम्न पावरशेल फ़ंक्शंस का उपयोग कर सकते हैं।
Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If(-not $is_blocked) {
$hoststr="127.0.0.1 ” + $Url
Add-Content -Path $hosts -Value $hoststr
}
}
Function UnBlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If($is_blocked) {
$newhosts = Get-Content -Path $hosts |
Where-Object {
$_ -notmatch ([regex]::Escape($Url))
}
Set-Content -Path $hosts -Value $newhosts
}
}

ब्लॉक की गई URL की सूची में वेबसाइट जोड़ने के लिए, बस कमांड निष्पादित करें:
BlockSiteHosts ("twitter.com")
वेबसाइट को अनब्लॉक करने के लिए, चलाएं:
UnBlockSiteHosts ("twitter.com")
DNS फ़िल्टरिंग का उपयोग करके वेबसाइट ब्लॉक करना
यदि आपके क्लाइंट एक ही DNS सर्वर का उपयोग करते हैं, तो आप उसी तरह कुछ वेबसाइटों को ब्लॉक कर सकते हैं उस DNS में एक DNS प्रविष्टि बनाकर और उसमें 127.0.0.1 जैसा कुछ निर्दिष्ट करके। वैसे, अधिकांश वाणिज्यिक DNS कंटेंट फिल्टर (OpenDNS, SafeDNS, सिस्को अम्ब्रेला, आदि) उसी सिद्धांत का उपयोग करते हैं।
विंडोज डिफेंडर फ़ायरवॉल में वेबसाइट IP पते को कैसे ब्लॉक करें?
इसके अलावा, आप अंतर्निहित विंडोज डिफेंडर फ़ायरवॉल का उपयोग करके कुछ वेबसाइटों को ब्लॉक कर सकते हैं। इस विधि का मुख्य नुकसान यह है कि आप ब्लॉकिंग नियम में डोमेन नाम या वेबसाइट URL का उपयोग नहीं कर पाएंगे। विंडोज डिफेंडर फ़ायरवॉल आपको स्रोत/गंतव्य के रूप में केवल IP पता या सबनेट निर्दिष्ट करने की अनुमति देता है।
सबसे पहले, आपको उस वेबसाइट का IP पता प्राप्त करना होगा जिसे आप ब्लॉक करना चाहते हैं। nslookup कमांड का उपयोग करके इसे करना आसान है:
nslookup twitter.com

जैसा कि आप देख सकते हैं, कमांड ने वेबसाइट को असाइन किए गए कई IP पते लौटाए हैं। आपको उन सभी को ब्लॉक करना होगा।
विंडोज डिफेंडर फ़ायरवॉल प्रबंधन स्नैप-इन चलाएं (कंट्रोल पैनल\सभी कंट्रोल पैनल आइटम\विंडोज डिफेंडर फ़ायरवॉल\उन्नत सेटिंग्स या firewall.cpl चलाकर)।
आउटबाउंड नियम अनुभाग में, निम्न सेटिंग्स के साथ एक नया नियम बनाएं: 
- नियम प्रकार: कस्टम
- प्रोग्राम: सभी प्रोग्राम
- प्रोटोकॉल प्रकार: कोई भी
- स्कोप: "यह नियम किन रिमोट IP पतों पर लागू होता है?" अनुभाग में "ये IP पते" चुनें -> जोड़ें। अगली विंडो में, उन IP पतों, सबनेट या IP पते की रेंज को दर्ज करें जिन्हें आप ब्लॉक करना चाहते हैं।
OK -> अगला -> कार्रवाई -> कनेक्शन ब्लॉक करें पर क्लिक करें।

फ़ायरवॉल प्रोफाइल वाली विंडो में सभी विकल्पों को वैसे ही छोड़ दें जिस पर नियम लागू होता है। फिर नियम का नाम निर्दिष्ट करें और इसे सहेजें।
उसके बाद विंडोज डिफेंडर फ़ायरवॉल निर्दिष्ट वेबसाइट के IP पतों पर सभी आउटगोइंग कनेक्शन को ब्लॉक कर देगा। अवरुद्ध साइट से कनेक्ट करने का प्रयास करते समय आपके ब्राउज़र में निम्न संदेश दिखाई देगा:
कनेक्ट करने में असमर्थ
या
आपकी इंटरनेट एक्सेस अवरुद्ध है फ़ायरवॉल या एंटीवायरस सॉफ़्टवेयर ने कनेक्शन को अवरुद्ध कर दिया हो सकता है ERR_NETWORK_ACCESS_DENIED
आपके AD डोमेन में, आप GPO का उपयोग करके उपयोगकर्ता कंप्यूटर पर वेबसाइट तक पहुंच को ब्लॉक करने के लिए विंडोज फ़ायरवॉल नीति तैनात कर सकते हैं। हालांकि, यह तर्कसंगत नहीं है। इंटरनेट एक्सेस राउटर (गेटवे) पर वेबसाइटों को फ़िल्टर करना बेहतर है।
डोमेन नाम या IP पते द्वारा वेबसाइट ब्लॉक करने के लिए फ़ायरवॉल नियम बनाने के लिए पावरशेल का उपयोग करना
आप पावरशेल का उपयोग करके वेबसाइट से कनेक्शन ब्लॉक करने वाला फ़ायरवॉल नियम भी बना सकते हैं:
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress 104.244.42.129, 104.244.42.0/24

स्ट्रिंग "नियम स्टोर से सफलतापूर्वक पार्स किया गया" का अर्थ है कि नया फ़ायरवॉल नियम सफलतापूर्वक लागू किया गया है। आप इसे अपने विंडोज डिफेंडर फ़ायरवॉल के ग्राफिकल इंटरफेस में पा सकते हैं।

वेबसाइट नामों को मैन्युअली IP पतों में हल न करने के लिए, आप वेबसाइट IP पते प्राप्त करने के लिए Resolve-DnsName पावरशेल cmdlet का उपयोग कर सकते हैं:
Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddress

इस प्रकार, आप वेबसाइट के नाम को उसके IP पतों में बदल सकते हैं और फ़ायरवॉल सेटिंग्स में एक ब्लॉक नियम जोड़ सकते हैं:
$IPAddress = Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress
अब आप एक साथ कई वेबसाइटों के लिए अपने विंडोज फ़ायरवॉल में ब्लॉकिंग नियम जोड़ सकते हैं:
$SitesToBlock = "facebook.com","instagram.com","youtube.com"
$IPAddress = $SitesToBlock | Resolve-DnsName -NoHostsFile | Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Web Sites" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress
मैंने Resolve-DnsName cmdlet में –NoHostsFile पैरामीटर जोड़ा है ताकि हल करने के लिए hosts फ़ाइल का उपयोग न किया जाए।
आइए सुनिश्चित करें कि विंडोज फ़ायरवॉल कंसोल में एक ब्लॉक आउटबाउंड नियम दिखाई दिया है।

यह लेख ज्यादातर एक मस्तिष्क प्रशिक्षण अभ्यास है। एक कॉर्पोरेट नेटवर्क में, आपको अपने इंटरनेट एक्सेस गेटवे, राउटर या प्रॉक्सी सर्वर पर वेबसाइट फ़िल्टरिंग का उपयोग करना चाहिए। होस्ट-स्तरीय ब्लॉकिंग बहुत प्रभावी नहीं है।