[小白技巧]windows家庭版开启本地组策略及密码策略和关闭高危端口

chengsenw 项目开发评论1阅读模式

[小白技巧]windows家庭版开启本地组策略及密码策略和关闭高危端口

      在日常办公终端安全加固上,我们时常会遇到windows家庭版没有本地组策略的扩展,从而导致无法启用用户管理以及密码策略管理。本文旨在解决该问题,并通过批处理脚本进行一键处理。
0x01开启组策略及密码策略(只对本地有效,无法在域内使用)   
      遇到windows家庭版安全检查时,我们通常通过在dos命令行中执行net user zhangsan(本地用户名)来查看密码策略,如果策略显示内容不符合安全检查标准,则会上报进行扣分。然而在没有组策略进行安全加固时,终端使用者很难去整改,所以有了如下的批处理脚本,复制内容,修改文本为.bat,管理员运行即可。
@echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txtfor /f %%i in ('findstr /i . List.txt 2^>nul'do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"pause
       开启组策略后,可通过手工打开用户管理(此电脑-管理-系统工具-本地用户和组-名称),右键属性即可编辑。如需一键操作,可尝试修改密码策略内容,包括密码最小长度、复杂度、有效期等,以下为主要代码,完整版请公众号留言“开启密码策略”获取。
echo  1. 密码最小长度:9位echo  2. 密码复杂度:必须包含大小写字母+数字+特殊字符echo  3. 密码有效期:90天(强制更换)echo  4. 密码过期提醒:14天echo  5. 禁止密码永不过期echo  6. 密码历史:禁止重用最近24个密码echo  - 启用密码复杂度规则secedit /export /cfg "%temp%\secpol.cfg" >nul 2>&1powershell -Command "(Get-Content '%temp%\secpol.cfg') -replace 'PasswordComplexity\s*=\s*0', 'PasswordComplexity = 1' | Set-Content '%temp%\secpol.cfg' -Encoding ASCII" >nul 2>&1secedit /configure /db "%windir%\security\local.sdb" /cfg "%temp%\secpol.cfg" /areas SECURITYPOLICY >nul 2>&1:: 2. 设置密码最小长度为9位echo  - 设置密码最小长度为9位net accounts /minpwlen:9 >nul 2>&1:: 3. 设置密码有效期90天(强制90天更换)echo  - 设置密码有效期90天net accounts /maxpwage:90 >nul 2>&1:: 4. 设置密码过期前14天提醒echo  - 设置密码过期提醒时间:14天net accounts /warnpwage:14 >nul 2>&1:: 5. 禁止密码永不过期(强制所有账户密码过期)echo  - 禁用"密码永不过期"属性wmic useraccount set PasswordExpires=TRUE >nul 2>&1:: 6. 禁止重用最近24个密码(密码历史)echo  - 设置密码历史:禁止重用最近24个密码net accounts /uniquepw:24 >nul 2>&1:: 清理临时文件del /f /q "%temp%\secpol.cfg" >nul 2>&1
0x02 关闭高危端口
     通常,我们并不需要使用一些高危端口,如135、137、138、3389等,所以一般在网络出口强都会封堵该端口,然而主机端大部分人是不会去做出入站规则。但随着内网安全的重视以及主机钓鱼木马横行的高频攻击发起,内网横向风险日益增加,主机安全引起企事业单位的重视。为此,这里提供一键关闭高危端口批处理脚本,希望对各位有所帮助。注:可自定义要关闭的端口,可通过控制面板-防火墙-高级设置查看出入站规则,“Block Port”开头即为脚本设置规则,开放端口可在出入站删除对应端口规则即可;另,关闭445端口,可能会影响打印机的使用,建议是额外单独做访问白名单,而不是直接关闭,以下为主要代码,完整版请公众号留言“关闭高危端口”获取。
:: 定义需要关闭的端口列表set "ports=135 137 138 139 445 3389":: 循环创建入站/出站阻止规则for %%p in (%ports%) do (    echo 处理端口 %%p...    :: 删除已存在的同名规则(避免重复)    netsh advfirewall firewall delete rule name="Block Port %%p" >nul 2>&1    :: 创建入站阻止规则    netsh advfirewall firewall add rule name="Block Port %%p" dir=in action=block protocol=TCP localport=%%p >nul 2>&1    netsh advfirewall firewall add rule name="Block Port %%p" dir=in action=block protocol=UDP localport=%%p >nul 2>&1    :: 创建出站阻止规则    netsh advfirewall firewall add rule name="Block Port %%p" dir=out action=block protocol=TCP localport=%%p >nul 2>&1    netsh advfirewall firewall add rule name="Block Port %%p" dir=out action=block protocol=UDP localport=%%p >nul 2>&1)echo.echo 端口关闭操作完成!echo 已通过Windows防火墙阻止以下端口的TCP/UDP入站/出站流量:echo %ports%echo.echo 如需恢复端口,可在【控制面板-防火墙-高级设置】中删除对应规则。pause >nul

 
chengsenw
  • 本文由 chengsenw 发表于 2026年1月19日 11:28:15
  • 转载请务必保留本文链接:https://www.gewo168.com/10717.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: