返回

PowerShell 修改 Windows Defender 防火墙:从疑难解答到解决方法

windows

使用 PowerShell 修改 Windows Defender 防火墙:疑难解答与解决方法

引言

Windows Defender 防火墙是一个强大的工具,用于保护您的计算机免受网络威胁。通过使用 PowerShell 脚本,您可以自动化防火墙配置任务,以进一步增强您的安全性态势。然而,修改防火墙设置时可能会遇到一些挑战。

遇到的问题

问题 1:防火墙 GUI 中未反映更改

使用 Set-NetFirewallProfile 命令修改防火墙策略后,您可能没有在防火墙 GUI 中看到预期的更改。

问题 2:Get-NetFirewallProfile 返回不一致的状态

使用 Get-NetFirewallProfile 命令let 获取防火墙状态时,您可能看到与防火墙 GUI 显示的不同状态。

解决方法

方法 1:针对问题 1

  • 确保以管理员身份运行 PowerShell。
  • 加载 NetSecurity 模块(Import-Module NetSecurity)。
  • 确保计算机未加入域。
  • 在计算机上本地运行脚本。

方法 2:针对问题 2

要获取防火墙的活动状态,请使用 -PolicyStore ActiveStore 参数:

Get-NetFirewallProfile -Profile Public,Private,Domain -PolicyStore ActiveStore

修改防火墙策略

  1. 获取当前防火墙策略:
$firewallPolicy = Get-NetFirewallProfile -Profile Public,Private,Domain
  1. 修改防火墙策略:
$firewallPolicy.DefaultInboundAction = "Block"
$firewallPolicy.DefaultOutboundAction = "Block"
Set-NetFirewallProfile -Profile Public,Private,Domain -PolicyStore ActiveStore -FirewallPolicy $firewallPolicy
  1. 验证更改:
Get-NetFirewallProfile -Profile Public,Private,Domain -PolicyStore ActiveStore

处理错误

如果脚本遇到错误,请检查 $Error 变量中的错误消息并采取适当的措施。

示例脚本

Import-Module NetSecurity

$firewallPolicy = Get-NetFirewallProfile -Profile Public,Private,Domain

$firewallPolicy.DefaultInboundAction = "Block"
$firewallPolicy.DefaultOutboundAction = "Block"
Set-NetFirewallProfile -Profile Public,Private,Domain -PolicyStore ActiveStore -FirewallPolicy $firewallPolicy

Get-NetFirewallProfile -Profile Public,Private,Domain -PolicyStore ActiveStore

提示

  • 使用 -WhatIf 参数预览更改,而无需实际进行更改。
  • 使用 -Verbose 参数查看有关脚本执行的详细信息。
  • 确保防火墙服务正在运行(Get-Service -Name Mpssvc)。

常见问题解答

问题 1:如何确保更改生效?

  • 重新启动计算机或使用 Restart-Service -Name Mpssvc 重启防火墙服务。

问题 2:如何还原为默认设置?

  • 使用以下命令let 设置默认配置文件:
Set-NetFirewallProfile -Default -PolicyStore ActiveStore

问题 3:如何排除特定程序的防火墙规则?

  • 使用 New-NetFirewallRule 命令let 创建排除规则。

问题 4:为什么我的脚本无法修改某些防火墙设置?

  • 检查用户帐户权限和 GPO 设置。

问题 5:如何在域环境中修改防火墙设置?

  • 使用组策略对象(GPO)修改防火墙设置。

结论

通过遵循本文中概述的步骤,您可以有效地使用 PowerShell 脚本修改 Windows Defender 防火墙设置。通过主动解决潜在的挑战,您可以确保您的计算机受到适当的保护,同时保持防火墙配置的控制和灵活性。