利用IIS7自帶類庫管理IIS如今變的更強大更方便,而徹底能夠不須要用DirecotryEntry這個類了(樂博網中不少.net管理iis6.0的文章都用到了DirecotryEntry這個類 ),Microsoft.Web.Administration.dll位於IIS的目錄(%WinDir%\\System32\\InetSrv)下,使用時須要引用,它基本上能夠管理IIS7的各項配置。數據庫
這個類庫的主體結構以下:瀏覽器
這裏只舉幾個例子說明一下基本功能,更多功能請參考MSDN。緩存
創建站點安全
string SiteName="樂博網"; //站點名稱 string BindArgs="*:80:"; //綁定參數,注意格式 string apl="http"; //類型 string path="e:\\樂博網"; //網站路徑 ServerManager sm = new ServerManager(); sm.Sites.Add(SiteName,apl,BindArgs,path); sm.CommitChanges();
修改站點服務器
Site site=sm.Sites["newsite"]; site.Name=SiteName; site.Bindings[0].EndPoint.Port=9999; site.Applications[0].VirtualDirectories[0].PhysicalPath=path; sm.CommitChanges();
刪除站點多線程
Site site=sm.Sites["樂博網"]; sm.Sites.Remove(site); sm.CommitChanges();
站點操做
方法一:併發
方法二:函數
一樣的方式,也能夠對網站對屬性進行修改。工具
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 = 表示對象當前狀態。各類可操做的和不可操做的狀態均可以被定義。可操做的狀態爲「正常」、「已降級」和「預見故障」。「預見故障」表示一個組件可能運行正常但預計很快會出現故障。例如,啓用 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 服務器所在的相同計算機的請求才會成功。您不能將 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 文件權限處理。
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 是否應該爲試圖訪問資源的匿名用戶處理用戶密碼。下表列出了該屬性行爲的詳細說明:若是將 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 進程外應用程序在出現故障後從新啓動的最大次數。服務器不會響應超出該範圍的組件請求。該屬性不適用於進程內運行的應用程序或擴展。
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 頁面能夠向響應緩衝區寫入的最大字節數
AspBufferingOn = True ASP 應用程序的輸出是否須要緩衝
AspCalcLineNumber = True ASP 是否計算和存儲已執行代碼的行號,以便在錯誤報告中提供
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 是否在服務器上緩存類型庫
AspErrorsToNTLog = False 是否將 IIS 腳本錯誤寫入到 Windows 事件日誌中
AspExceptionCatchEnable = True 頁面是否捕獲組件產生的異常。若是設置爲 false (或者禁用),那麼 Microsoft 腳本調試程序工具將不捕捉所調試的組件發生的異常。
AspExecuteInMTA = 0 ASP 可以在一個多線程單元 (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+ 分區保存不一樣的自定義 COM 組件的版本。將 AspPartitionID 屬性設置爲 COM+ 分區的全局惟一標識符 (GUID)。同時,設置 AspAppServiceFlags 配置數據庫屬性的 AspUsePartition 標誌。在應用程序級別設置這兩個屬性
AspProcessorThreadMax = 25 指定 IIS 可建立的每一個處理器的最大工做線程數
AspQueueConnectionTestTime = 3 IIS 將全部的 ASP 請求放置到隊列中。若是請求在隊列中等待的時間比 AspQueueConnectionTestTime 屬性指定的時間(以秒爲單位)長,則 ASP 將在執行請求前檢查肯定客戶端是否還是鏈接的。若是客戶端已斷開鏈接,則不處理該請求而且從隊列中刪除該請求。
AspQueueTimeout = -1 容許 ASP 腳本請求在隊列中等待的時間(以秒爲單位)。無窮大表示爲 -1。
AspRequestQueueMax = 3000 容許進入隊列的併發 ASP 請求的最大數目。在隊列佔滿時,任何試圖請求 ASP 文件的客戶端瀏覽器都將收到 HTTP 500「服務器太忙」的錯誤。
AspRunOnEndAnonymously = True 指定了 SessionOnEnd 和 ApplicationOnEnd 全局 ASP 函數是否應該做爲匿名用戶運行
AspScriptEngineCacheMax = 250 頁面將在內存中保持緩存的腳本引擎的最大數目
AspScriptErrorMessage = 處理 URL 時服務器出錯。請與系統管理員聯繫。 特殊調試錯誤沒有被髮送到客戶端時(若是將 AspScriptErrorSentToBrowser 設置成 false)將發送給瀏覽器的錯誤消息
AspScriptErrorSentToBrowser = True Web 服務器是否將調試細節(文件名、錯誤、行號、描述)寫到客戶端瀏覽器,而且記錄到 Windows 事件日誌中
AspScriptFileCacheSize = 500 要緩存的預編譯腳本文件數。若是設置爲 0,則不緩存任何腳本文件
AspScriptLanguage = VBScript 運行在 Web 服務器上的全部 ASP 應用程序的默認腳本語言
AspScriptTimeout = 90 AspScriptTimeout 屬性指定了在終止腳本和將事件寫入 Windows 事件日誌以前,ASP 頁面容許的腳本運行時間的默認值(以秒爲單位)。
AspSessionMax = -1 IIS 容許的最大併發會話數。當達到該限制時,若是客戶端試圖與 IIS 創建新鏈接,則客戶端將接收到錯誤信息(HTTP 500「服務器太忙」)。無窮大表示爲 -1。
AspSessionTimeout = 20 完成最後的與 Session 對象相關的請求後,保留該對象的時間(以分鐘爲單位)。
AspSxsName = 啓動並行 (SxS) 程序集。並行 (SxS) 程序集容許 ASP 應用程序指定要使用哪一個版本的系統 DLL 或傳統 COM 組件,例如 MDAC、MFS、MSVCRT、MSXML 等。
AspTrackThreadingModel = False IIS 是否檢查應用程序建立的任意組件的線程模塊。
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 中指定的天數前到期,則調用該 URL。
AuthNotifyPwdExpURL = /iisadmpwd/anot.asp 包含一個特定的 URL:若是用戶的密碼在 PasswordExpirePreNotifyDays 中指定的天數前到期,則調用該 URL。將以安全的 (HTTPS) 方式調用它。
AuthNTLM = True 指定集成 Windows 身份驗證(也稱做質詢/響應或 NTLM 驗證)做爲可能的 Windows 驗證方案之一,返回給客戶端做爲有效驗證方案。
AuthPassport = False true 的值表示啓用了 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 = 受權管理器策略存儲與虛擬目錄、應用程序或 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 能夠提供多少目錄和文件信息(若是啓用瀏覽)以及目錄中是否包含默認頁的標記。
DirBrowseShowDate = True 設置爲 true 時,瀏覽目錄時將顯示日期信息。
DirBrowseShowExtension = True 設置爲 true 時,瀏覽目錄時將顯示文件擴展名。
DirBrowseShowLongDate = True 設置爲 true 時,顯示目錄時將在擴展格式中顯示日期信息。
DirBrowseShowSize = True 設置爲 true 時,瀏覽目錄時將顯示文件大小信息。
DirBrowseShowTime = True 設置爲 true 時,顯示目錄時將顯示文件時間信息。
DisableStaticFileCache = False 目錄的靜態文件緩存
DoDynamicCompression = False 與 HcDoDynamicCompression 屬性相同。
DontLog = False 是否將客戶端的請求寫入日誌文件。
DoStaticCompression = False 與 HcDoStaticCompression 屬性相同。
EnableDefaultDoc = True 設置爲 true 時,瀏覽目錄時系統會加載該目錄的默認文檔(由 De, faultDoc 屬性指定)。
EnableDirBrowsing = False 設置爲 true 時,將啓用目錄瀏覽。
EnableDocFooter = False 啓用或禁用由 DefaultDocFooter 屬性指定的自定義頁腳。
EnableReverseDns = False 啓用或禁用萬維網發佈服務(WWW 服務)的反向域名服務器 (DNS) 查找。
FrontPageWeb = True 服務器實例是否由 Microsoft? FrontPage? 處理。