环境背景

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. 

建一个任务计划,定时执行该批处理

补充一个手动中文代码的(可能会有乱码),需要以管理员模式运行(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