Server2022
概述
本文档涵盖 Windows Server 2022 的系统优化配置、激活、自动登录和服务管理操作,帮助快速完成服务器初始化设置,提升运行稳定性。
适用场景:
- 新装 Windows Server 2022 的初始化配置
- 服务器系统优化和功能调整
- 自动化运维脚本编写
- 将 EXE 程序注册为系统服务
系统优化脚本
将以下内容保存为 init.bat,以管理员身份运行:
@echo off
chcp 65001 >nul
title Windows Server 2022 自动化配置脚本 - 管理员模式
cls
echo ========================================================
echo ✅ Windows Server 2022 一站式系统配置脚本
echo ✅ 含:关更新/关UAC/永不关屏/开远程桌面等
echo ========================================================
echo.
echo ★ 脚本将自动执行所有配置,全程无需手动操作...
pause >nul
:: ====== 【1/10】彻底关闭Windows系统自动更新 ======
echo.
echo [1/10] 正在关闭Windows系统自动更新...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableWindowsUpdateAccess /t REG_DWORD /d 1 /f >nul 2>&1
sc config wuauserv start= disabled >nul 2>&1
sc stop wuauserv >nul 2>&1
sc config cryptSvc start= disabled >nul 2>&1
sc stop cryptSvc >nul 2>&1
sc config bits start= disabled >nul 2>&1
sc stop bits >nul 2>&1
sc config trustedinstaller start= disabled >nul 2>&1
echo ✔ 系统自动更新已禁用
:: ====== 【2/10】UAC用户账户控制 → 设置为从不通知 ======
echo.
echo [2/10] 正在设置UAC为从不通知...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 0 /f >nul 2>&1
echo ✔ UAC已设置为【从不通知】(重启后生效)
:: ====== 【3/10】关闭系统休眠功能(释放磁盘空间) ======
echo.
echo [3/10] 正在关闭系统休眠...
powercfg -h off >nul 2>&1
del /f /q C:\hiberfil.sys >nul 2>&1
echo ✔ 休眠功能已关闭,已释放休眠文件占用空间
:: ====== 【4/10】永久关闭屏幕保护程序 ======
echo.
echo [4/10] 正在关闭屏幕保护程序...
reg add "HKCU\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 0 /f >nul 2>&1
reg add "HKCU\Control Panel\Desktop" /v ScreenSaverIsSecure /t REG_SZ /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v ScreenSaverExecutable /t REG_SZ /d "" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v ScreenSaverActive /t REG_SZ /d 0 /f >nul 2>&1
echo ✔ 屏幕保护已永久关闭
:: ====== 【5/10】关闭Windows Defender实时防护 ======
echo.
echo [5/10] 正在关闭Defender实时防护...
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection" /v DisableRealtimeMonitoring /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableWindowsDefender /t REG_DWORD /d 1 /f >nul 2>&1
sc config WinDefend start= disabled >nul 2>&1
sc stop WinDefend >nul 2>&1
sc config WdNisSvc start= disabled >nul 2>&1
sc stop WdNisSvc >nul 2>&1
echo ✔ Defender实时防护已禁用
:: ====== 【6/10】关闭通知中心所有弹窗 ======
echo.
echo [6/10] 正在关闭所有系统/应用通知...
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings" /v NOC_GLOBAL_SETTING_ALLOW_NOTIFICATIONS /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications" /v ToastEnabled /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\ServerManager" /v DoNotOpenServerManagerAtLogon /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\ServerManager" /v DoNotOpenServerManagerAtLogon /t REG_DWORD /d 1 /f >nul 2>&1
echo ✔ 通知中心已关闭,所有弹窗将被屏蔽
:: ====== 【7/10】关闭系统自动维护 ======
echo.
echo [7/10] 正在关闭系统自动维护...
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance" /v MaintenanceDisabled /t REG_DWORD /d 1 /f >nul 2>&1
schtasks /change /tn "\Microsoft\Windows\TaskScheduler\Maintenance Configurator" /disable >nul 2>&1
schtasks /change /tn "\Microsoft\Windows\TaskScheduler\Regular Maintenance" /disable >nul 2>&1
echo ✔ 自动维护已关闭,禁止后台自动扫描/优化
:: ====== 【8/10】关闭快速启动 ======
echo.
echo [8/10] 正在关闭快速启动...
powercfg /setactive scheme_current >nul 2>&1
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f >nul 2>&1
powercfg /setdcvalueindex scheme_current sub_boot hybridboot 0 >nul 2>&1
powercfg /setacvalueindex scheme_current sub_boot hybridboot 0 >nul 2>&1
echo ✔ 快速启动已关闭,提升开机兼容性
:: ====== 【9/10】开启远程桌面连接 ======
echo.
echo [9/10] 正在开启远程桌面并放行防火墙...
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v AllowTSConnections /t REG_DWORD /d 1 /f >nul 2>&1
netsh advfirewall firewall set rule group="远程桌面" new enable=yes >nul 2>&1
netsh advfirewall firewall add rule name="RDP-TCP-3389" dir=in action=allow protocol=TCP localport=3389 enable=yes profile=any >nul 2>&1
sc config TermService start= auto >nul 2>&1
sc start TermService >nul 2>&1
echo ✔ 远程桌面已开启,防火墙已放行(3389端口)
:: ====== 【10/10】设置系统永不关闭屏幕、永不睡眠 ======
echo.
echo [10/10] 正在设置永不关闭屏幕、永不系统睡眠...
powercfg /change monitor-timeout-ac 0 >nul 2>&1
powercfg /change standby-timeout-ac 0 >nul 2>&1
powercfg /change hibernate-timeout-ac 0 >nul 2>&1
powercfg /change disk-timeout-ac 0 >nul 2>&1
powercfg /change monitor-timeout-dc 0 >nul 2>&1
powercfg /change standby-timeout-dc 0 >nul 2>&1
powercfg /change hibernate-timeout-dc 0 >nul 2>&1
powercfg /change disk-timeout-dc 0 >nul 2>&1
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c >nul 2>&1
echo ✔ 已设置:显示器永不关闭、系统永不睡眠、高性能电源模式
:: ====== 执行完成 ======
echo.
echo ========================================================
echo ✅ 所有10项配置全部执行完成!✅
echo ⚠ 提示:UAC、远程桌面、系统更新需重启服务器后生效
echo ⚠ 其余功能已立即生效,重启后所有配置全部稳定运行
echo ========================================================
pause脚本功能说明
| 序号 | 功能 | 说明 |
|---|---|---|
| 1 | 关闭系统自动更新 | 禁用 Windows Update 及相关服务 |
| 2 | UAC 从不通知 | 关闭用户账户控制弹窗 |
| 3 | 关闭休眠 | 释放休眠文件占用的磁盘空间 |
| 4 | 关闭屏幕保护 | 永久禁用屏幕保护程序 |
| 5 | 关闭 Defender | 禁用 Windows Defender 实时防护 |
| 6 | 关闭通知中心 | 屏蔽所有系统/应用弹窗 |
| 7 | 关闭自动维护 | 禁止后台自动扫描和优化 |
| 8 | 关闭快速启动 | 提升开机兼容性 |
| 9 | 开启远程桌面 | 开启 RDP 并配置防火墙放行 3389 端口 |
| 10 | 永不睡眠/关屏 | 设置电源计划永不关闭 |
激活
以管理员身份打开 cmd,依次执行:
slmgr /ipk WX4NM-KYWYW-QJJR4-XV3QB-6VM33
slmgr /skms kms.03k.org
slmgr /ato备用 KMS 服务器:
kms.loli.best
自动登录
:: 1. 启用自动登录(1=启用,0=禁用)
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_DWORD /d 1 /f
:: 2. 设置默认登录用户名(替换为实际账号)
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d "Administrator" /f
:: 3. 设置默认登录密码(替换为实际密码)
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "你的密码" /f
:: 4. (可选)跳过 Ctrl+Alt+Del 登录提示
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonSkipHotKey /t REG_DWORD /d 1 /f开机启动(NSSM 服务管理)
使用 NSSM(Non-Sucking Service Manager)将 EXE 程序注册为 Windows 服务。
安装 NSSM
# 下载 NSSM
curl -o nssm.zip https://nssm.cc/release/nssm-2.24.zip
# 解压后将 nssm.exe 放入 C:\Windows\System32\ 或项目目录注册服务
:: 1. 安装服务(服务名称自定义)
nssm install BasketballService "D:\ServerApps\baskball.exe"
:: 2. 设置开机自动启动
nssm set BasketballService Start SERVICE_AUTO_START
:: 3. 配置崩溃自动重启(延迟3秒)
nssm set BasketballService AppRestartDelay 3000
nssm set BasketballService OnExit Default RESTART
:: 4. 设置工作目录
nssm set BasketballService AppDirectory "D:\ServerApps"
:: 5. 配置日志输出(可选)
nssm set BasketballService AppStdout "D:\ServerApps\Logs\stdout.log"
nssm set BasketballService AppStderr "D:\ServerApps\Logs\stderr.log"
nssm set BasketballService AppRotateFiles 1
nssm set BasketballService AppRotateBytes 10485760
:: 6. 启动服务
nssm start BasketballService服务管理命令
# 重启服务
nssm restart BasketballService
# 停止服务
nssm stop BasketballService
# 卸载服务(confirm 表示无需手动确认)
nssm remove BasketballService confirm
# 查看服务状态
nssm status BasketballService常见问题与注意事项
脚本执行提示"拒绝访问"
确保以管理员身份运行脚本(右键 → 以管理员身份运行)。
远程桌面无法连接
- 确认防火墙已放行 3389 端口
- 确认当前用户已设置密码
- 检查远程桌面服务是否已启动:
sc query TermService
自动登录不生效
- 检查注册表项是否正确写入
- 确认
DefaultPassword值已正确设置 - Windows Server 需禁用"交互式登录: 不需要按 Ctrl+Alt+Del"策略
NSSM 服务无法启动
- 确认 EXE 程序路径是否正确
- 检查程序依赖文件是否在工作目录中
- 查看 NSSM 日志输出排查错误
Defender 误杀 EXE 程序
建议在脚本执行前将程序目录加入 Defender 排除列表,或直接通过脚本关闭 Defender 实时防护。