|
本地修改组策略无法杜绝用户自己后续修改,批处理优化了一下,可以参考下- @echo off
- setlocal enabledelayedexpansion
- :: 管理员权限检查
- net session >nul 2>&1
- if %errorLevel% neq 0 (
- echo 请以管理员身份运行此脚本!
- pause
- exit /b
- )
- :: 创建策略配置文件
- echo 正在配置密码策略...
- (
- echo Windows Registry Editor Version 5.00
- echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
- echo "PasswordComplexity"=dword:00000001
- echo "MinimumPasswordLength"=dword:00000008
- echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AccountPolicies\PasswordPolicy]
- echo "MaximumPasswordAge"=dword:0000003c
- echo "PasswordHistorySize"=dword:00000005
- echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AccountPolicies\AccountLockout]
- echo "Threshold"=dword:00000003
- ) > %temp%\security_policy.reg
- :: 应用注册表策略
- regedit /s %temp%\security_policy.reg
- :: 设置账户策略(兼容家庭版)
- net accounts /maxpwage:60 /minpwlen:8 /uniquepw:5
- :: 取消所有用户的密码永不过期设置
- echo 正在更新用户账户策略...
- for /f "skip=4 tokens=2*" %%a in ('net user') do (
- set "user=%%a"
- if not "!user!"=="命令成功完成。" (
- wmic useraccount where "name='!user!'" set PasswordExpires=True >nul
- powershell -command "Set-LocalUser -Name '!user!' -PasswordNeverExpires \$false" >nul 2>&1
- )
- )
- :: 刷新组策略(专业版生效)
- gpupdate /force >nul
- :: 清理临时文件
- del %temp%\security_policy.reg
- :: 验证输出
- echo.
- echo 策略验证:
- echo [1] 密码复杂度要求:
- reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v PasswordComplexity
- echo.
- echo [2] 密码有效期设置:
- reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\AccountPolicies\PasswordPolicy" /v MaximumPasswordAge
- echo.
- echo [3] 用户密码状态:
- wmic useraccount get name,PasswordExpires,PasswordRequired
- echo.
- echo 策略部署完成!按任意键退出...
- pause >nul
复制代码 |
|