C# 创建iis站点以及IIS站点属性,iis不能启动站点

DontLog = False是否将客户端的请求写入日志文件

2011年04月09日

#region CreateWebsite 新增网站

public string CreateWebSite(string serverID, string serverComment, string defaultVrootPath, string HostName, string IP, string Port)

{

try

{

ManagementObject oW3SVC = new ManagementObject (_scope, new ManagementPath(@"IIsWebService='W3SVC'"), null);

if (IsWebSiteExists (serverID))

{

return "Site Already Exists...";

}

ManagementBaseObject inputParameters = oW3SVC.GetMethodParameters ("CreateNewSite");

ManagementBaseObject[] serverBinding = new ManagementBaseObject[1];

serverBinding[0] = CreateServerBinding(HostName, IP, Port);

inputParameters["ServerComment"] = serverComment;

inputParameters["ServerBindings"] = serverBinding;

inputParameters["PathOfRootVirtualDir"] = defaultVrootPath;

inputParameters["ServerId"] = serverID;

ManagementBaseObject outParameter = null;

outParameter = oW3SVC.InvokeMethod("CreateNewSite", inputParameters, null);

// 启动网站

string serverName = "W3SVC/" + serverID;

ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null);

webSite.InvokeMethod("Start", null);

return (string)outParameter.Properties["ReturnValue"].Val ue;

}

catch (Exception ex)

{

return ex.Message;

}

}

public ManagementObject CreateServerBinding(string HostName, string IP, string Port)

{

try

{

ManagementClass classBinding = new ManagementClass(_scope, new ManagementPath("ServerBinding"), null);

ManagementObject serverBinding = classBinding.CreateInstance();

serverBinding.Properties["Hostname"].Value = HostName;

serverBinding.Properties["IP"].Value = IP;

serverBinding.Properties["Port"].Value = Port;

serverBinding.Put();

return serverBinding;

}

catch

{

return null;

}

}

#endregion

页面:

// 新增网站

protected void AddWebsite_Click(object sender, EventArgs e)

{

IISManager iis = new IISManager();

iis.Connect();string serverID = "5556";string serverComment = "Create Website";string defaultVrootPath = @"D:\web";string HostName = "World";string IP = "";string Port = "9898";ReturnMessage.Text = iis.CreateWebSite(serverID,serverComment,defaultVr ootPath,HostName,IP,Port);}删除网站的代码:

#region DeleteSite 删除站点

public string DeleteSite(string serverID)

{

try

{

string serverName = "W3SVC/" + serverID;

ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null);

webSite.InvokeMethod("Stop", null);

webSite.Delete();

webSite = null;

return "Delete the site succesfully!";

}

catch(Exception deleteEx)

{

return deleteEx.Message;

}

}

#endregion

同样的方式,也可以对网站对属性进行修改

附:IIS的站点属性(详细内容,请查阅IIS帮助)

Read only properties of W3SVC/1/Root:// 只读属性

AppIsolated = 2属性指出应用程序是在进程项内、进程项外还是在进程项池中运行值 0 表示应用程序在进程项内运行,值 1 表示进程项外,值 2 表示进程项池

AppPackageID =为事务提供 COM+ 应用程序标识符 (ID)此 ID 在由组件服务管理的所有事务中使用

AppPackageName =为事务提供 COM+ 应用程序名

AppRoot = /LM/W3SVC/1/ROOT 包含到应用程序根目次的配置数据库路径

Caption =提供对象的一段简短文本描述(一行字符串)

Description =提供对象的一段较长文本描述

InstallDate =表示安装对象的时间缺乏值并不表示对象没有安装

Name = W3SVC/1/ROOT界说了用来识别对象的标签创建子类时,可以将 Name 属性改写为 Key 属性

Status =表示对象当前状态各种可操作的和不可操作的状态都可以被界win7如何打开iis说可操作的状态为“正常”、“已降级”和“预见故障”“预见故障”表示 一个组件可能运行正常但预计很快会出现故障例如,启用 SMART 的硬盘还可指定不可操作的状态这些状态为“错误”、“启动”、“停止”和“服务”后者(即“服务”)可用于磁盘镜像过程、重新加载用户权限列表或其他管理 作业并不是所有这类作业都联机;以是,被管理的组件不是“正常”状态或处于任何其他状态

Read/Write properties of W3SVC/1/Root:// 可读/可写

AccessExecute = False值 true 表示不论文件类型是什么,文件或文件夹的内容都可以执行

AccessFlags = 513 包含有用于配置文件拜候权限的标志

AccessNoPhysicalDir = False

AccessNoRemoteExecute = False 值 true 表示拒绝远程请求执行应用程序;如果将 AccessExecute 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会乐成您不克不及将 AccessNoRemoteExecute 设置为 false 来启用远程请求,或将 AccessExecute 设置为 false 来克制本地请求

AccessNoRemoteRead = False值 true 表示拒绝远程请求查看文件;如果将 AccessRead 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求iis6绑定域名才会乐成您不克不及将 AccessNoRemoteRead 设置为 false 来启用远程请求,或将 AccessRead 设置为 false 来克制本地请求

AccessNoRemoteScript = False值 true 表示拒绝远程请求查看动态内容;如果将 AccessScript 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会乐成您不克不及将 AccessNoRemoteScript 设置为 false 来启用远程请求,或将 AccessScript 设置为 false 来克制本地请求

AccessNoRemoteWrite = False值 true 表示拒绝远程请求创建或更改文件;如果将 AccessWrite 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会乐成您不克不及将 AccessNoRemoteWrite 设置为 false 来启用远程请求,或将 AccessWrite 设置为 false 来克制本地请求

AccessRead = True值 true 表示可通过 Microsoft Internet Explorer 读取文件或文件夹的内容

AccessScript = True值 true 表示如果是脚本文件或静态内容,则可以执行文件或文件夹的内容值 false 只允许提供静态文件,如 HTML 文件

AccessSource = False值 true 表示如果设置了读取或写入权限,则允许用户拜候源代码源代码包括 Microsoft? Active Server Pages (ASP) 应用程序中的脚本

AccessSSL = False值 true 表示文件拜候需要带有或不带有客户端证书的 SSL 文件权iis解析xml限措置惩罚

AccessSSL128 = False值 true 表示文件拜候需要至少 128 位密钥、带有或不带有客户端证书的 SSL 文件权限措置惩罚

AccessSSLFlags = 0默认值 0 表示未设置任何 SSL 权限

AccessSSLMapCert = False值 true 表示 SSL 文件权限措置惩罚将客户端证书映射到 Microsoft Windows? 操作体系的用户帐户上要实现映射,必须将 AccessSSLNegotiateCert 属性设置成 true

AccessSSLNegotiateCert = False值 true 表示 SSL 文件拜候措置惩罚从客户端请求证书值 false 表示如果客户端没有证书,仍可继续拜候如果服务器请求证书但证书不可用(即使也将 AccessSSLRequireCert 设成 true),某些版本的 Internet Explorer 将关闭连接

AccessSSLRequireCert = False值 true 表示 SSL 文件拜候措置惩罚从客户端请求证书如果客户端没有提供证书,连接会关闭当使用 AccessSSLRequireCert 时,必须将 AccessSSLNegotiateCert 设成 true

AccessWrite = False值 true 表示允许用户将文件及其相关属性上载到服务器上已启用的目次中,或者更改可写文件的内容只有使用支持 HTTP 1.1 协议标准的 PUT 功效的浏览器,才能执行写入操作

AdminACLBin =由 Microsoft? Exchange Server 使用

AnonymousPasswordSync = True指出 IIS 是否应该为试图拜候资源的匿名用户措置惩罚用户密怎么停止iis码下表列出了该属性行为的详细说明:如果将 AnonymousPasswordSync 设置为 false,管理员必须手动设置匿名用户密码的 AnonymousUserPass 属性;否则匿名拜候将无法正常工作 如果将 AnonymousPasswordSync 设置为 true,将由 IIS 设置匿名用户密码 如果将 AnonymousPasswordSync 设置为 true 并且配置数据库属性 AllowAnonymous 值为 false,则不允许任何用户登录到 FTP 服务器

AnonymousUserName = IUSR_COMPUTERNAME指定用来验证匿名用户的已注册的本地用户名服务器将每个服务器操作与用户名和密码关联起来

AnonymousUserPass = XXXXXXXXXXXX指定用来验证匿名用户的已注册的本地用户密码服务器将每个服务器操作与用户名和密码关联起来

AppAllowClientDebug = False指定是否允许客户端调试该属性与应用于服务器端调试的 AppAllowDebugging 无关

AppAllowDebugging = False指定是否允许在服务器上进行 ASP 调试该属性与应用于客户端调试的 AppAllowClientDebug 属性无关 AppFriendlyName = 默认应用程序软件包或应用程序的用户好记名称

AppOopRecoverLimit = -1进程项外应用程序在出现故障后重新启动的最大次数服务器不会响应超出该范围windowsiis安装包的组件请求该属性不合用于进程项内运行的应用程序或扩展

AppPoolId = ASP.NET V2.0应用程序在其中路由的应用程序池

AppWamClsid =为应用程序的 Web 应用程序管理 (WAM) 接口提供类 ID

AspAllowOutOfProcComponents = True在 IIS 4.0 中,AspAllowOutOfProcComponents 属性指定是否允许 ASP 脚本调用进程项外组件,这些组件是在应用程序内启动的可执行程序在 IIS 5.0 中,该属性已过时,并且属性值将被忽略但是,使用该属性的脚本仍然可以正常运行

AspAllowSessionState = True启用 ASP 应用程序对话状态持续性如果将该值设置为 true,那么服务器将为每个连接创建 Session 对象,可拜候对话状态,允许对话存储,出现 Session_OnStart 和 Session_OnEnd 事件,并且送出 ASPSessionID Cookie 到客户端如果将该值设置为 false,那么不允许状态拜候和存储,事件将不进行措置惩罚,并且也不送出 Cookie

AspAppServiceFlags = 0包含在 IIS 应用程序上启用 COM+ 服务所必须要设置的标志

AspBufferingLimit = 4194304设置 ASP 缓冲区的最大大小如果启动了响应缓冲,该属性将控制在进行刷新前 ASP 页面可以向响应缓冲区写入的最大字节数iis6.0怎么安装

AspBufferingOn = TrueASP 应用程序的输出是否需要缓冲

AspCalcLineNumber = TrueASP 是否计算和存储已执行代码的行号,以便在错误报告中提供

AspCodepage = 0为应用程序指定默认的代码页

AspDiskTemplateCacheDirectory = %windir%\system32\inetsrv\ASP Comp目次的名称,该目次是 ASP 在存储器内的缓存溢出后,用来将已编译的 ASP 模板存储到磁盘的目次

AspEnableApplicationRestart = True确定 ASP 应用程序能否自动重新启动

AspEnableAspHtmlFallback = False当由于请求行列步队已满而拒绝新的请求时,AspEnableAspHtmlFallback 属性控制 ASP 的行为将该属性设置为 true,将引起送出与请求的 .asp 文件名称近似的 .htm 文件(如果存在),而不是送出 .asp 文件.htm 文件的定名商定是 .asp 文件名之后附加一个 _asp例如,.asp 文件是 hello.asp,那么 .htm 文件应该是 hello_asp.htm

AspEnableChunkedEncoding = True指定是否为万维网发布服务(WWW 服务)启动 HTTP 1.1 chunked 传输编码

AspEnableParentPaths = False页面是否允许当前目次的相对路径(使用 ..\ 表示法)

AspEnableSxs = False值 true 将启动 COM+ 并排集合,该程序集允许 ASP 应用程序指定要使用哪个版本的体系 DLL 或传统 COM 组件,例如 MDAC、MFS、MSVCRT、MSXML 等等

AspEnableTracker = False值 true 将启动 COM+ 跟踪器,管理员或研发人员可用其来调试 ASP 应用程序

AspEnableTypelibCache = True是否在iis服务器绑定域名服务器上缓存类型库

AspErrorsToNTLog = False是否将 IIS 脚本错误写入到 Windows 事件日志中

AspExceptionCatchEnable = True页面是否捕获组件产生的异常如果设置为 false (或者禁用),那么 Microsoft 脚本调试程序工具将不捕捉所调试的组件发生的异常

AspExecuteInMTA = 0ASP 能够在一个多线程单元 (MTA) 中运行其全部线程如果 COM 组件主要是自由线程或双线程组件,则将 ASP 线程作为 MTA 运行可显著改善机能默认情况下,AspExecuteInMTA 属性设置为 0,这意味着 ASP 不在 MTA 中执行在应用程序级别上将该属性设置为 1 可使 ASP 在 MTA 中运行

AspKeepSessionIDSecure = 0启用 AspKeepSessionIDSecure 属性后,它可以确保将 SessionID 作为安全 Cookie 送出(如果已在安全通道上分配的话)

AspLCID = 2048用程序指定默认的区域设置标识符 (LCID)

AspLogErrorRequests = True控制 Web 服务器是否将败绩的客户请求写入到 Windows 事件日志文件中

AspMaxDiskTemplateCacheFiles = 2000指定存储已编译 ASP 模板的最大数量存储已编译模板的目次由 AspDiskTemplateCacheDirectory 属性配置

AspMaxRequestEntityAllowed = 204800指定一个 ASP 请求的实体正文中允许的最多字节数

AspPartitionID =COM+ 分区用于将 Web 应用程序隔离到其各自的 COM+ 分区COM+ 分区如何停止iis保存不同的自界说 COM 组件的版本将 AspPartitionID 属性设置为 COM+ 分区的整个的局面:胸怀~唯一标识符 (GUID)同时,设置 AspAppServiceFlags 配置数据库属性的 AspUsePartition 标志在应用程序级别设置这两个属性

AspProcessorThreadMax = 25指定 IIS 可创建的每个措置惩罚器的最大工作线程数

AspQueueConnectionTestTime = 3IIS 将所有的 ASP 请求放置到行列步队中如果请求在行列步队中等待的时间比 AspQueueConnectionTestTime 属性指定的时间(以秒为单位)长,则 ASP 将在执行请求前检查确定客户端是否仍是连接的如果客户端已断开连接,则不措置惩罚该请求并且从行列步队中删除该请求

AspQueueTimeout = -1允许 ASP 脚本请求在行列步队中等待的时间(以秒为单位)无限大表示为 -1

AspRequestQueueMax = 3000允许步入行列步队的并发 ASP 请求的最大数目在行列步队占满时,任何试图请求 ASP 文件的客户端浏览器都将收到 HTTP 500“服务器太忙”的错误

AspRunOnEndAnonymously = True指定了 SessionOnEnd 和 ApplicationOnEnd 整个的局面:胸怀~ ASP 函数是否应该作为匿名用户运行

AspScriptEngineCacheMax = 250页面将在内存中保持缓存的脚本phpforiis6引擎的最大数目

AspScriptErrorMessage = 措置惩罚 URL 时服务器堕落请与体系管理员接洽特殊调试错误没有被送出到客户端时(如果将 AspScriptErrorSentToBrowser 设置成 false)将送出给浏览器的错误消息

AspScriptErrorSentToBrowser = TrueWeb 服务器是否将调试细节(文件名、错误、行号、描述)写到客户端浏览器,并且记录到 Windows 事件日志中

AspScriptFileCacheSize = 500要缓存的预编译脚本文件数如果设置为 0,则不缓存任何脚本文件

AspScriptLanguage = VBScript运行在 Web 服务器上的所有 ASP 应用程序的默认脚本语言

AspScriptTimeout = 90AspScriptTimeout 属性指定了在终止脚本和将事件写入 Windows 事件日志之前,ASP 页面允许的脚本运行时间的默认值(以秒为单位)

AspSessionMax = -1IIS 允许的最大并发对话数当达到该限制时,如果客户端试图与 IIS 建立新连接,则客户端将接收到错误信息(HTTP 500“服务器太忙”)无限大表示为 -1

AspSessionTimeout = 20完成最后的与 Session 对象相关的请求后,保留该对象的时间(以分钟为单位)

AspSxsName =启动并行 (SxS) 程序集并行 (SxS) 程序集允许 ASP 应用程序指定要使用哪个版本的体系 DLL 或传win7下的iis统 COM 组件,例如 MDAC、MFS、MSVCRT、MSXML 等

AspTrackThreadingModel = FalseIIS 是否检查应用程序创建的肆意组件的线程模块

AspUsePartition = False值 true 将启动 COM+ 分区,可用其将 Web 应用程序隔离到各自的 COM+ 分区COM+ 分区可领有不同的自界说 COM 组件的版本如果设置该标志,请同时设置 AspPartitionID 配置数据库属性

AuthAdvNotifyDisable = True禁用密码到期预先通知

AuthAnonymous = True指定匿名身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效果证方案

AuthBasic = False指定基本身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效果证方案

AuthChangeDisable = True克制更改密码

AuthChangeUnsecure = False允许在不安全端口更改密码

AuthChangeURL = /iisadmpwd/achg.asp用户输入新密码时被调用的 URL

AuthExpiredUnsecureURL = /iisadmpwd/aexp3.asp用户密码到期时调用的 URL

AuthExpiredURL = /iisadmpwd/aexp.asp用户密码到期时调用的 URL将以安全的 (HTTPS) 方式调用它

AuthFlags = 5作为有效方案返回给客户端的 Windows 验证方案的设置

AuthMD5 = False指定摘要式身份验证和高级摘要式身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效果证方案

AuthNotifyPwdExpUnsecureURL = /iisadmpwd/anot3.asp包含一个特定的 URL:如果用户的密码在 PasswordExpirePreNotifyDays 中指iis用不了定的天数前到期,则调用该 URL

AuthNotifyPwdExpURL = /iisadmpwd/anot.asp包含一个特定的 URL:如果用户的密码在 PasswordExpirePreNotifyDays 中指定的天数前到期,则调用该 URL将以安全的 (HTTPS) 方式调用它

AuthNTLM = True指定集成 Windows 身份验证(也称作质询/响应或 NTLM 验证)作为可能的 Windows 验证方案之一,返回给客户端作为有效果证方案

AuthPassport = Falsetrue 的值表示启用了 Microsoft? .NET Passport 身份验证

AuthPersistence = 64指定了使用 NTLM 验证跨越连接上的请求时的验证长期性

AuthPersistSingleRequest = True将该标志设置成 true 指定验证仅对一个连接上的单个请求长期IIS 在每个请求的末尾重设验证,并且在对话的下一个请求上强力压制执行重验证 AzEnable = False用于虚拟目次、应用程序,或配置数据库中项响应的 URL 的 URL 授权

AzImpersonationLevel = 0用于应用程序的模拟行为,该模拟行为允许配置 Web 应用程序模拟客户端用户、IIS 工作进程项,或工作进程项的 IUSER_* 帐户

AzScopeName =将虚拟目次、应用程序或 URL 与作用域相关联如果没有指定作用域或指定了空子符串,则使用 IIS 6.0 URL 授权的默认作用域

AzStoreName =授权管iis7.5express理器策略存储与虚拟目次、应用程序或 URL 相关联

CacheControlCustom =指定了自界说 HTTP 1.1 缓存控制指令

CacheControlMaxAge = 0指定了 HTTP 1.1 缓存控制最大时间值

CacheControlNoCache = False保护缓存内容的 HTTP 1.1 指令

CacheISAPI = True在第一次使用 ISAPI 扩展后是否在内存中进行缓存

Caption =提供对象的一段简短文本描述(一行字符串)

CGITimeout = 300指定 CGI 应用程序超时(以秒为单位)

ContentIndexed = True指定安装的目次索引程序是否应该检索该目次树下的内容

CreateCGIWithNewConsole = False指示 CGI 应用程序是否在自己的控制台上运行

CreateProcessAsUser = True是在体系环境中创建 CGI 进程项还是在请求用户环境中创建 CGI 进程项

DefaultDoc = index.aspx,default.aspx包含一个或多个默认文档的文件名,如果在客户端的请求中不包含文件名,将把默认文档的文件名返回给客户端

DefaultDocFooter =附加到返回到客户端的 HTML 文件的自界说页脚(页脚并不附加到 ASP 文件)

DefaultLogonDomain =服务器用来对用户进行身份验证的默认域(在 UserIsolationMode = 2 的 Web 宿主方案中)

Description =提供对象的一段较长文本描述

DirBrowseFlags = 1073741886可以提供多少目次和文件信息(如果启xpiis安装包用浏览)以及目次中是否包含默认页的标记

DirBrowseShowDate = True设置为 true 时,浏览目次时将显示日期信息

DirBrowseShowExtension = True设置为 true 时,浏览目次时将显示文件扩展名

DirBrowseShowLongDate = True设置为 true 时,显示目次时将在扩展格式中显示日期信息

DirBrowseShowSize = True设置为 true 时,浏览目次时将显示文件大小信息

DirBrowseShowTime = True设置为 true 时,显示目次时将显示文件时间信息

DisableStaticFileCache = False目次的静态文件缓存

DoDynamicCompression = False与 HcDoDynamicCompression 属性相同

DoStaticCompression = False与 HcDoStaticCompression 属性相同

EnableDefaultDoc = True设置为 true 时,浏览目次时体系会加载该目次的默认文档(由 De, faultDoc 属性指定)

EnableDirBrowsing = False设置为 true 时,将启用目次浏览

EnableDocFooter = False启用或禁用由 DefaultDocFooter 属性指定的自界说页脚

EnableReverseDns = False启用或禁用万维网发布服务(WWW 服务)的反向域名服务器 (DNS) 查找

FrontPageWeb = True服务器实例是否由 Microsoft? FrontPage? 措置惩罚