IIS cmd管理命令
命令控制台所在位置 C:\Windows\System32\inetsrv\appcmd.exe
创建iis站点:
appcmd add site /name:"MyTestSite1" /bindings:http/*:8990: /physicalPath:"E:TestSiteSite1"
解释:
/name (必需) 站点名称
/bindings 绑定列表
/physicalPath 站点的物理路径
创建应用程序池:
appcmd add apppool /name:MyTestSite1 /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated /enable32BitAppOnWin64:true /processModel.identityType:LocalSystem
解释:
/managedRuntimeVersion 是.net Framework的版本 如:v1.0 v1.1或v2.0等
/managedPielineMode 托管管道模式:Classic经典模式,Integrated集成模式
/enable32BitAppOnWin64 是否启用32位应用程序
/processModel.identityType 进程模型--标识
设置站点的应用程序池:
appcmd set site /site.name:MyTestSite1 /[path=‘/‘].applicationPool:MyTestSite1
删除站点及应用程序池:
appcmd delete site /site.name:MyTestSite1
appcmd delete apppool /apppool.name:MyTestSite1
停止、启动 站点、应用程序池:
appcmd stop site "MyTestSite1"
appcmd start site "MyTestSite1"
appcmd stop apppool "MyTestSite1"
appcmd start apppool "MyTestSite1"
列出所有的站点、应用程序池:
appcmd list sites
appcmd list apppools
列出指定站点的状态
C:\Windows\System32\inetsrv>appcmd.exe list site "XXX_8070"
SITE "XXX_8070" (id:10,bindings:http/*:8070:,state:Started)
封装的服务端命令代码
public ActionResult GetSiteStatus(string siteName)
{
var result = ExecuteIISCommand($@"list site ""{siteName}""");
return View();
}
/// <summary>
/// 执行IIS命令
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
private string ExecuteIISCommand(string command)
{
return ExecuteCommand($@"C:\Windows\System32\inetsrv\appcmd.exe {command}");
}
/// <summary>
/// 执行cmd命令
/// </summary>
/// <param name="commandText"></param>
/// <returns></returns>
private string ExecuteCommand(string commandText)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string strOutput = null;
try
{
p.Start();
p.StandardInput.WriteLine(commandText);
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
//截取输出结果
var lines = strOutput.Split(new string[] { "\r\n" }, StringSplitOptions.None).ToList();
lines = lines.Skip(4).Take(lines.Count - 4 - 3).ToList();
return string.Join("\r\n", lines);
}
catch (Exception e)
{
strOutput = e.Message;
}
return strOutput;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!