iisreset 是一个在 Windows 操作系统上用于停止、重新启动或重新启动 Internet Information Services (IIS) 的命令行工具,它就像是管理 IIS 服务的“总开关”。

iisreset 是一个功能强大且常用的命令,它通过停止然后重新启动所有与 IIS 相关的进程来重置 IIS,这会影响到所有运行在 IIS 上的网站、应用程序和 Web 服务。
主要用途:
- 解决网站或应用程序的意外故障、无响应。
- 应用 IIS 配置更改(尽管许多更改无需重启即可生效,但重启是确保生效的最终手段)。
- 清理可能已经损坏的内存或应用程序池状态。
- 作为一个快速的手段来“刷新”整个 Web 服务器环境。
基本语法
iisreset [计算机名] [/option] [/timeout:秒数]
[计算机名]: 可选参数,指定要重置的远程计算机名称,如果省略,则默认为本地计算机。[/option]: 可选参数,指定iisreset的操作模式。[/timeout:秒数]: 可选参数,指定等待操作完成的超时时间(以秒为单位),默认为 20 秒。
常用选项
iisreset 的行为由 /option 参数控制,以下是主要的选项及其说明:
| 选项 | 全称 | 描述 |
|---|---|---|
/restart |
Restart | 默认选项,停止所有 IIS 服务,然后重新启动它们,这是最常见的用法。 |
/stop |
Stop | 停止所有 IIS 服务(如 WWW, FTP, SMTP 等)。 |
/start |
Start | 启动所有已停止的 IIS 服务。 |
/reload |
Reload | 推荐用于应用配置更改,优雅地重新加载 IIS 配置,它会请求所有工作进程正常关闭,而不是强制终止,这能避免中断当前正在处理的请求。 |
/status |
Status | 显示所有 IIS 服务的当前状态。 |
/disable |
Disable | 禁用 World Wide Web Publishing Service,这会阻止 IIS 自动启动。 |
/enable |
Enable | 启用 World Wide Web Publishing Service。 |
/noforce |
No Force | 仅在所有工作进程能够正常关闭时才停止服务,如果某个进程无法关闭,命令会失败,默认情况下,iisreset /stop 会强制关闭(/force)。 |
/force |
Force | 强制停止所有 IIS 服务,即使有正在运行的请求,这会导致当前请求被中断,这是默认行为。 |
使用示例
示例 1:最基本的用法(重启 IIS)
这是最常见的用法,等同于 iisreset /restart。

iisreset
执行后,你会看到类似以下的输出:
Attempting to stop World Wide Web Publishing service
Attempting to stop World Wide Web Publishing service
IIS was successfully stopped
Attempting to start World Wide Web Publishing service
Attempting to start World Wide Web Publishing service
IIS was successfully restarted
示例 2:仅停止 IIS 服务
如果你想在维护前停止所有网站。
iisreset /stop
示例 3:仅启动 IIS 服务
在停止后,重新启动它们。
iisreset /start
示例 4:优雅地重新加载配置(推荐)
当你修改了 web.config 或 IIS 管理器中的配置后,使用此命令可以让 IIS 在不中断用户当前请求的情况下应用新配置。

iisreset /reload
示例 5:检查 IIS 服务状态
在执行操作前后,可以用此命令查看服务是否正常运行。
iisreset /status
输出示例:
World Wide Web Publishing Service state: Running
示例 6:在远程计算机上执行 IISReset
假设你要管理一台名为 WEB-SERVER-01 的远程服务器。
iisreset WEB-SERVER-01 /restart
注意: 执行此命令的账户需要在远程计算机上有管理员权限。
示例 7:设置超时时间
如果服务器响应缓慢,可以增加超时时间以避免命令过早失败。
iisreset /timeout:60
重要注意事项
- 影响范围:
iisreset会停止并重启所有网站、应用程序池和 Web 服务,这意味着在iisreset执行期间,所有网站都将暂时无法访问。 - 权限:必须在命令提示符(CMD)或 PowerShell 中以管理员身份运行
iisreset,否则会提示“拒绝访问”。 - 生产环境慎用:在生产环境中,
iisreset会导致服务中断,应尽量使用/reload选项来最小化影响,对于单个有问题的网站,最佳实践是只重启其对应的应用程序池,而不是整个 IIS。 - 替代方案:对于单个应用程序池,更精细的操作是使用
appcmd命令,appcmd stop apppool "DefaultAppPool"(停止应用程序池)appcmd start apppool "DefaultAppPool"(启动应用程序池) 这种方式只会影响该应用程序池下的网站,影响范围更小。
| 场景 | 推荐命令 | 说明 |
|---|---|---|
| 快速修复网站无响应 | iisreset |
简单粗暴,但有效,会中断所有服务。 |
| 应用配置更改 | iisreset /reload |
优雅地重载配置,推荐使用,对用户影响最小。 |
| 维护前准备 | iisreset /stop |
停止所有 IIS 服务。 |
| 维护后恢复 | iisreset /start |
启动所有 IIS 服务。 |
| 检查服务状态 | iisreset /status |
快速了解 IIS 是否在运行。 |
| 精细控制(单个网站) | appcmd ... |
更好的做法,只影响特定应用程序池。 |
希望这份详细的解释能帮助你更好地理解和使用 iisreset 命令!
