You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取IISreset状态,判断IIS是否已启动/停止并返回布尔值?

检查IIS运行状态并返回布尔值($true/$false)

iisreset /start这类命令仅返回执行退出码,无法直接给出布尔值状态,想要实现启动返回$true、停止返回$false的需求,可以通过以下几种可靠方式实现:

方法1:检查IIS核心服务状态

IIS的核心依赖服务是W3SVC(World Wide Web Publishing Service),直接检查该服务的运行状态是最直接的方式:

# 获取W3SVC服务状态,运行则返回$true,否则返回$false
$iisStatus = (Get-Service -Name W3SVC).Status -eq 'Running'
$iisStatus

方法2:使用IIS管理模块(需安装IIS管理工具)

如果系统安装了WebAdministration模块,也可以直接检查站点或应用程序池的状态:

# 导入IIS管理模块
Import-Module WebAdministration
# 检查默认站点是否处于启动状态
$iisStatus = (Get-Website -Name 'Default Web Site').State -eq 'Started'
$iisStatus

执行iisreset后验证状态

如果是执行iisreset /start后需要确认启动结果,建议在执行后等待服务初始化,再检查状态:

# 执行IIS启动命令
iisreset /start
# 等待服务完成启动(按需调整等待时间)
Start-Sleep -Seconds 3
# 验证并返回状态
$iisStatus = (Get-Service -Name W3SVC).Status -eq 'Running'
$iisStatus

注意:iisreset的执行结果可以通过$LASTEXITCODE查看(0为执行成功),但执行成功不代表服务一定启动成功,直接检查服务状态更准确。

内容的提问来源于stack exchange,提问作者Abhimanyu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 17:45:04