核心命令
重置 IIS 的核心命令是 iisreset,它可以在命令提示符(CMD)或 PowerShell 中执行。

基本语法
在 命令提示符 中执行:
iisreset [选项]
在 PowerShell 中执行(推荐使用 iisreset.exe 以确保调用的是正确的可执行文件):
iisreset.exe [选项]
常用选项及说明
| 选项 | 说明 | 示例 |
|---|---|---|
| 无选项 | 默认操作:停止所有 IIS 服务,然后重新启动它们,这是最常用的重置方式。 | iisreset |
/stop |
仅停止所有 IIS 服务(包括 WWW, FTP, SMTP 服务)。 | iisreset /stop |
/start |
仅启动所有 IIS 服务。 | iisreset /start |
/restart |
先停止所有 IIS 服务,然后再启动它们,效果与无选项相同,但语义更清晰。 | iisreset /restart |
/status |
查看当前 IIS 服务的状态(已停止、正在启动、正在停止、已启动)。 | iisreset /status |
/noforce |
优雅重启,在停止服务前,会等待所有正在处理的请求完成。推荐在服务器有正在运行的网站时使用此选项。 | iisreset /noforce |
/force |
强制重启,立即停止所有服务,不等待请求完成,可能会导致正在访问的用户请求失败。仅在紧急情况下使用。 | iisreset /force |
/rebootonerror |
iisreset 执行失败,则强制重启整个服务器。极其危险,请勿轻易使用。 |
iisreset /rebootonerror |
/timeout |
设置 iisreset 命令的超时时间(以秒为单位),如果操作在指定时间内未完成,命令将失败,默认为 30 秒。 |
iisreset /timeout 60 |
使用场景示例
常规网站服务异常(如打不开、报 502 错误)
这是最常见的场景,通常使用默认的重启命令即可。
操作步骤:

-
打开 命令提示符 或 PowerShell。
- 以管理员身份运行:为了避免权限问题,强烈建议右键点击命令提示符或 PowerShell,选择“以管理员身份运行”。
-
输入以下命令并按回车:
iisreset
或者
iisreset.exe
-
等待命令执行完成,你会看到类似以下的输出:
(图片来源网络,侵删)正在尝试停止 IIS... 成功停止 IIS。 正在尝试启动 IIS... 成功启动 IIS。如果看到 "成功" 字样,说明重置完成。
服务器负载较高,希望优雅地重启
为了避免中断正在访问的用户,可以使用 /noforce 选项。
操作步骤:
- 以管理员身份打开命令提示符或 PowerShell。
- 输入以下命令:
iisreset /noforce
- 命令会等待当前所有请求处理完毕后再停止服务,然后重启。
只想查看 IIS 当前的服务状态
如果你不确定 IIS 是否真的出了问题,可以先检查其状态。
操作步骤:
- 以管理员身份打开命令提示符或 PowerShell。
- 输入以下命令:
iisreset /status
- 你会看到类似以下的输出:
World Wide Web Publishing Service 正在运行 IIS Admin Service 正在运行如果服务状态是“已停止”,那可能就是问题所在。
重要注意事项
- 管理员权限:执行
iisreset需要 管理员权限,如果不是管理员,会提示“5 拒绝访问”。 - 影响:重置 IIS 会导致服务器上所有基于 IIS 的网站、应用程序池、FTP 等服务瞬间中断,对于正在访问的用户,他们可能会遇到“连接已重置”或 502 错误,请在业务低峰期执行此操作,并提前通知用户。
- 并非万能药:
iisreset是一个“重启大法”,可以解决很多临时性的软件问题,但如果问题是由于应用程序代码错误、配置文件损坏或硬件故障引起的,重启后问题可能会再次出现,它不能替代排查根本原因。 - 日志:
iisreset失败,可以查看 Windows 事件查看器中的“应用程序”和“系统”日志,通常会有更详细的错误信息,帮助你定位问题。- 快速打开事件查看器:在开始菜单搜索
eventvwr.msc。
- 快速打开事件查看器:在开始菜单搜索
| 目的 | 推荐命令 |
|---|---|
| 常规重置(首选) | iisreset |
| 优雅重启(减少用户影响) | iisreset /noforce |
| 强制重启(紧急情况) | iisreset /force |
| 查看服务状态 | iisreset /status |
希望这份详细的指南能帮助你!
