批处理命令完成应用池和网站的添加、删除、启动和停止

最近接到一个任务:使用批处理命令完成以下几个功能。

  1. Stop IIS Service
  2. Start IIS Service
  3. Stop AppPool
  4. Start AppPool
  5. Create AppPool
  6. Create Application Path

经过一番搜索也有些头绪,便开始了批处理文件的编写……

@echo off&cls

:: For AppPool
@set apppoolname="New AppPool"
:: true/false
@set loaduserprofile="false"
:: LocalSystem/LocalService/NetworkService/ApplicationPoolIdentity/SpecificUser
@set processmodelindentytype="NetworkService"
:: v4.0/v2.0
@set runtimeversion="v4.0"
:: Integrated/Classic
@set pipelinemode="Integrated"


:: For WebSite
@set websitename="New WebSite"
@set ipaddress="*"
@set port="8087"
@set sitePath="C:\website"


:: For Add Application Bindings
@set addbindingwebsitename="New WebSite"
:: http/https/net.tcp/net.pipe/met.msmq/msmq.formatname
@set addbindingsprotocol="https"
@set addbindingsipaddress="192.168.238.1"
@set addbindingsport="8089"
@set addsslcertificate="IIS Express Development Certificate"


:: For Delete
@set deleteapppoolname="New AppPool"
@set deletewebsitename="New WebSite"

GOTO MENU
:MENU
echo.
echo #############################
echo 1 Stop IIS Service
echo.
echo 2 Start IIS Service
echo.
echo 3 Stop AppPool
echo.
echo 4 Start AppPool
echo.
echo 5 Create AppPool
echo.
echo 6 Delete AppPool
echo.
echo 7 Create Application Path
echo.
echo 8 Add Application Bindings
echo.
echo 9 Delete Application Path
echo #############################
echo.

set/p a=Please select a function : 
echo.
if %a%==1 goto cmd1
if %a%==2 goto cmd2
if %a%==3 goto cmd3
if %a%==4 goto cmd4
if %a%==5 goto cmd5
if %a%==6 goto cmd6
if %a%==7 goto cmd7
if %a%==8 goto cmd8
if %a%==9 goto cmd9

:cmd1
echo You choosed : Stop IIS Service
iisreset /STOP
goto MENU

:cmd2
echo You choosed : Start IIS Service
net start w3svc
goto MENU

:cmd3
echo You choosed : Stop AppPool
c:\windows\system32\inetsrv\AppCmd.exe stop apppool /apppool.name:%apppoolname%
goto MENU

:cmd4
echo You choosed : Start AppPool
c:\windows\system32\inetsrv\AppCmd.exe start apppool /apppool.name:%apppoolname%
goto MENU

:cmd5
echo You choosed : Create AppPool
C:\Windows\System32\inetsrv\appcmd.exe add apppool /name:%apppoolname% -processModel.loadUserProfile:%loaduserprofile% -processModel.identityType:%processmodelindentytype% /managedRuntimeVersion:%runtimeversion% /managedPipelineMode:%pipelinemode%
goto MENU

:cmd6
echo You choosed : Delete AppPool
C:\Windows\System32\inetsrv\appcmd.exe delete apppool /apppool.name:%deleteapppoolname%
goto MENU

:cmd7
echo You choosed : Create Application Path
C:\Windows\System32\inetsrv\appcmd.exe add site /name:%websitename% /bindings:http/%ipaddress%:%port%: /applicationDefaults.applicationPool:%apppoolname% /physicalPath:%sitePath%
goto MENU

:cmd8
echo You choosed : Add Application Bindings
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:%addbindingwebsitename% /+bindings.[protocol='%addbindingsprotocol%',bindingInformation='%addbindingsipaddress%:%addbindingsport%:%addsslcertificate%']
goto MENU

:cmd9
echo You choosed : Delete Application Path
C:\Windows\System32\inetsrv\appcmd.exe delete site /site.name:%deletewebsitename%
goto MENU

Pause
goto menu

其中的Delete AppPool,Add Application Bindings,Delete Application Path是根据需求添加的功能。
注意
1. 跑之前需要先在文件里把应用池和网站信息配置好(区分大小写,要注意);
2. 因为涉及权限问题,需要以“管理员身份”运行此文件。
3. Add Application Bindings这个功能里要注意单引号不能丢,bindingInformation和前面的逗号不能有空格
4. 有什么问题请留言,共同讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ythook

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值