پرش به محتوا

قوانین Windows Defender Firewall با PowerShell

قوانین ورودی را محدود به شبکه یا IP مشخص کنید، پروفایل‌ها را بررسی کنید، لاگ بسته‌های رد شده را فعال کنید و قوانین را بین سرورها منتقل کنید.

Windows Server 2025سطح: متوسطبرای: Windows Server 2025، Windows Server 2022، Windows Server 2019به‌روزرسانی: ۱۶ آبان ۱۴۰۵

۱. وضعیت پروفایل‌ها

powershell
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Get-NetConnectionProfile

سرور عضو دامین باید در پروفایل DomainAuthenticated باشد. اگر در Public است، معمولاً DNS یا ارتباط با DC مشکل دارد.

۲. قانون محدود به یک شبکه

به‌جای باز کردن پورت برای همه، منبع را مشخص کنید:

powershell
New-NetFirewallRule -DisplayName "SQL Server from App Servers" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 192.168.10.40,192.168.10.41 -Action Allow -Profile Domain

۳. محدود کردن RDP به شبکه‌ی مدیریت

powershell
Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Set-NetFirewallRule -RemoteAddress 192.168.50.0/24

۴. لاگ بسته‌های رد شده

powershell
Set-NetFirewallProfile -Profile Domain,Public,Private -LogBlocked True -LogMaxSizeKilobytes 16384 -LogFileName "%systemroot%\system32\LogFiles\Firewall\pfirewall.log"
Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -Tail 20

۵. فهرست قوانین فعال ورودی

powershell
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow |
  Get-NetFirewallPortFilter | Where-Object LocalPort -ne 'Any' |
  Select-Object @{n='Rule';e={(Get-NetFirewallRule -AssociatedNetFirewallPortFilter $_).DisplayName}}, Protocol, LocalPort

۶. پشتیبان و انتقال قوانین

powershell
netsh advfirewall export "C:\Temp\fw-FS01.wfw"
netsh advfirewall import "C:\Temp\fw-FS01.wfw"

در محیط دامین، بهتر است قوانین مشترک را با Group Policy توزیع کنید تا روی همه‌ی سرورها یکسان باشند.