小技巧 · 2022年4月14日 0

通过GPO实现自动关闭 WIN2008R2 / WIN7 域客户端防火墙

测试环境:Node1为域控制器,Node2为域客户端,OS均为Windows Server 2008 R2,域名为LLD01.COM

先设置一下先决条件.模拟企业环境,域用户在域客户机加入域时被加入到本地管理员组,即LLD01\USER1(隶属于Domain Users组)被加入到域客户机Node2的本地管理员组(administrators),如果没有加入该组,则无法实施关闭防火墙这类管理性任务.接下来的操作如下:

1.在域控制器Node1上运行regedit,通过导出如下注册表键值,生成set01.reg文件.可以先导出System下的所有键值,再删除除EnableLUA=0以外的其他键值得到该文件.该键值的作用是彻底关闭UAC:
————————-
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
“EnableLUA”=dword:00000000
————————-

2.将set01.reg放在一个Domain Users可以读取到的共享\\Node1\files\set01.reg?中

3.在Node1上创建一个TestOU,将LLD01\USER1帐号移到该OU中,然后在该OU上创建一个GPO对象,并使用其注销脚本,运行脚本importreg.bat,其内容为:
——————
regedit /s?\\node1\files\set01.reg
netsh advfirewall set allprofiles state off
——————

第一条命令是将包含关闭UAC的注册表键值导入到域客户机,使UAC关闭
第二条命令是关闭域客户机的高级防火墙

4.为对比效果,启用客户机的防火墙(域/公用/专用三个网络配置文件均启用),在Node1上使用ping命令测试无法ping通域客户端Node2(表明防火墙生效).客户机重启2次,并采用LLD01\USER1登录

2次后(关闭UAC需要重启主机才能生效),策略生效,可ping通域客户端,检查高级防火墙,三个配置文件显示均为关闭状态,测试成功.

测试结束.

上述方法也适用于域客户机为Windows 7的场合,可以自动关闭Windows 7的防火墙.如果要自动关闭Windows 2003/xp的防火墙,不需要UAC相关设置,只需要简单的在注销脚本中运行一条命令(当然前提是仍然需要客户机本地管理员组帐号权限):

netsh firewall set opmode disable disable

关闭域客户机防火墙适用于很多场合,由于Windows XP、Windows 7、Windows Server 2008 R2默认都是启用防火墙的,使得由域向域客户机推送软件、脚本或安装程序、远程RPC操作、远程NTLM认证等均无法自动完成,还包括安全扫描软件的自动扫描、主机信息的自动获取都将无法操作,可以通过上述方法由GPO来自动关闭防火墙。