IIS中应用程序池和站点通过命令启停方法

本文介绍如何使用appcmd.exe命令对IIS中的站点和应用程序池进行启动、停止操作,包括具体命令示例和批处理脚本实现,适用于灾备项目中的自动化管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做灾备项目中,需要通过脚本方式对IIS服务中的应用程序池和站点,进行启动、停止操作,下面记录命令的使用方法

使用C:\Windows\System32\inetsrv\appcmd.exe 命令来实现IIS的应用程序池和站点的操作,具体使用方法可参考帮助命令appcmd /?

1. 站点命令

1.1 查看站点 

C:\Windows\System32\inetsrv>appcmd.exe list site
SITE "cbgl" (id:4,bindings:http/*:8900:,state:Started)
SITE "crmwebservice" (id:3,bindings:http/*:8015:,state:Started)
SITE "ERP25" (id:2,bindings:http/*:80:,state:Started)
SITE "LdapWebService" (id:5,bindings:http/*:9111:,state:Started)
SITE "RTS报表" (id:6,bindings:http/*:9333:,state:Started)
SITE "报表服务" (id:7,bindings:http/*:8013:,state:Started)
SITE "手机报表" (id:8,bindings:http/*:8009:,state:Started)

1.2 停止站点

停止ERP25这个站点

C:\Windows\System32\inetsrv>appcmd.exe stop site "ERP25"
“ERP25”已成功停止

1.3 启动站点

启动ERP25这个站点

C:\Windows\System32\inetsrv>appcmd.exe start site "ERP25"
“ERP25”已成功启动。


 

2. 应用程序池命令

2.1 查看应用程序池

C:\Windows\System32\inetsrv>appcmd.exe list apppool
APPPOOL "DefaultAppPool" (MgdVersion:v2.0,MgdMode:Integrated,state:Started)
APPPOOL "ERP25" (MgdVersion:v2.0,MgdMode:Classic,state:Started)
APPPOOL "RTS报表" (MgdVersion:v2.0,MgdMode:Classic,state:Started)
APPPOOL "手机报表" (MgdVersion:v2.0,MgdMode:Classic,state:Started)
APPPOOL "ASP.NET 1.1" (MgdVersion:v1.1,MgdMode:Classic,state:Started)
APPPOOL "报表服务" (MgdVersion:v2.0,MgdMode:Classic,state:Started)
APPPOOL "cbgl" (MgdVersion:v1.1,MgdMode:Classic,state:Started)

2.2 停止应用程序池

停止ERP25这个应用程序池

C:\Windows\System32\inetsrv>appcmd.exe stop apppool "ERP25"
“ERP25”已成功停止

2.3 启动应用程序池

启动ERP25这个应用程序池

C:\Windows\System32\inetsrv>appcmd.exe start apppool "ERP25"
“ERP25”已成功启动。

 

3. 检查站点启动状态的批处理

在要检查IIS的站点的Windows主机上,建立一个批处理脚本 IIS_site_started_check.bat ,这里是放在了 C:\ldits\scripts 目录中。

内容如下:

@echo off

rem 将批处理文件默认为管理员权限打开
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
rem cd %~dp0 跳转到当前bat文件路径
cd /d "%~dp0"
:loop

rem 要检查的站点是Started状态的写入一个文本
C:\Windows\System32\inetsrv\appcmd.exe list site <nul | find "ERP25" | find "Started" >> C:\ldits\scripts\my_site_check.txt 
C:\Windows\System32\inetsrv\appcmd.exe list site <nul | find "RTS报表" | find "Started" >> C:\ldits\scripts\my_site_check.txt 
C:\Windows\System32\inetsrv\appcmd.exe list site <nul | find "报表服务" | find "Started" >> C:\ldits\scripts\my_site_check.txt 
C:\Windows\System32\inetsrv\appcmd.exe list site <nul | find "手机报表" | find "Started" >> C:\ldits\scripts\my_site_check.txt 

rem 输出文本
for /f "delims=" %%b in (C:\ldits\scripts\my_site_check.txt) do (echo %%b)

rem 统计文本中的行数
SETLOCAL ENABLEDELAYEDEXPANSION
SET lines2=0
FOR /F "tokens=* delims=" %%i IN (C:\ldits\scripts\my_site_check.txt) DO (
    SET /A lines2=!lines2!+1
)
echo Started site count: %lines2%

rem 文本中的行数是否是4,也就是要检查这4个站点是否都是已启动状态,echo结果
if %lines2% EQU 4 (echo OK, 应用及服务站点都已启动) else (echo ERROR, 有应用及服务站点未启动,请检查)

rem 删除文本
del C:\ldits\scripts\my_site_check.txt

pause

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值