环境背景
Windows AD Server 作为打印服务器启用了打印服务并通过域策略推送到Windows客户端
因为客户端比较多,打印机又比较少,打印有时候会卡在队列里,或者莫名故障,这时候
需要重启打印服务(Print Spooler),解决方法是写一个批处理程序,使用计划任务定时在
中午午休时间重启下该服务。


方法
批处理内容:
@echo off
echo Stopping Print Spooler service...
net stop spooler
timeout /t 5 /nobreak > nul
echo Starting Print Spooler service...
net start spooler
echo Print Spooler service has been restarted.
@echo off
echo Stopping Print Spooler service...
net stop spooler
timeout /t 5 /nobreak > nul
echo Starting Print Spooler service...
net start spooler
echo Print Spooler service has been restarted.
@echo off echo Stopping Print Spooler service... net stop spooler timeout /t 5 /nobreak > nul echo Starting Print Spooler service... net start spooler echo Print Spooler service has been restarted.
建一个任务计划,定时执行该批处理

补充一个手动中文代码的(可能会有乱码),需要以管理员模式运行(WIN10)
@echo off
echo =========================================
echo 正在重启 Print Spooler 服务...
echo =========================================
:: 停止 Print Spooler 服务
net stop spooler
if %errorlevel% neq 0 (
echo 无法停止 Print Spooler 服务,请检查权限或服务状态。
pause
exit /b
)
:: 启动 Print Spooler 服务
net start spooler
if %errorlevel% neq 0 (
echo 无法启动 Print Spooler 服务,请检查权限或服务状态。
pause
exit /b
)
echo Print Spooler 服务已成功重启。
pause
@echo off
echo =========================================
echo 正在重启 Print Spooler 服务...
echo =========================================
:: 停止 Print Spooler 服务
net stop spooler
if %errorlevel% neq 0 (
echo 无法停止 Print Spooler 服务,请检查权限或服务状态。
pause
exit /b
)
:: 启动 Print Spooler 服务
net start spooler
if %errorlevel% neq 0 (
echo 无法启动 Print Spooler 服务,请检查权限或服务状态。
pause
exit /b
)
echo Print Spooler 服务已成功重启。
pause
@echo off echo ========================================= echo 正在重启 Print Spooler 服务... echo ========================================= :: 停止 Print Spooler 服务 net stop spooler if %errorlevel% neq 0 ( echo 无法停止 Print Spooler 服务,请检查权限或服务状态。 pause exit /b ) :: 启动 Print Spooler 服务 net start spooler if %errorlevel% neq 0 ( echo 无法启动 Print Spooler 服务,请检查权限或服务状态。 pause exit /b ) echo Print Spooler 服务已成功重启。 pause