LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

DirectoryEntry.Properties遍歷IIS屬性

admin
2021年6月26日 23:38 本文熱度 3028

一.平臺:Windows XP SP3+ IIS 5.1 + Visual Studio 2005

.NET框架下,System.DirectoryServices命名空間中的DirectoryEntry提供了活動目錄組件管理功能,它調用ADSI操作IIS

二.DirectoryEntry.Properties遍歷IIS Web虛擬目錄和Ftp虛擬目錄屬性

using System;

using System.Collections.Generic;

using System.Text;

using System.DirectoryServices;

 

namespace IISVirDirProperties

{

    class Program

    {

        static void Main(string[] args)

        {

            try

            {

                Console.WriteLine("請輸入欲查詢的虛擬目錄類型:");

                Console.WriteLine("0代表IIS Web虛擬目錄");

                Console.WriteLine("1代表IIS FTP虛擬目錄");

 

                string SVCType, VirDirType;

                string strVirDirType  = Console.ReadLine();

 

                if(strVirDirType == "0")

                {

                    SVCType = "W3SVC";

                    VirDirType = "IIsWebVirtualDir";

                }

                else if(strVirDirType == "1")

                {

                    SVCType = "MSFTPSVC";

                    VirDirType = "IIsFtpVirtualDir";

                }

                else

                {

                    Console.WriteLine("輸入有誤,只能輸入01");

                    Console.ReadKey();

                    return;

                }

 

                string RootPath = "IIS://localhost/" + SVCType + "/1/ROOT";

                DirectoryEntry RootDE = new DirectoryEntry(RootPath);

                DirectoryEntry DE = null;

 

                Console.WriteLine("請輸入欲查詢的虛擬目錄名稱:");

                string strVirDir = Console.ReadLine();

               

                if(string.IsNullOrEmpty(strVirDir)) // 為空,查詢默認站點

                {

                    DE = RootDE;

                    Console.WriteLine("默認站點的屬性如下:\n");

                }

                else // 非空,查詢具體站點

                {

                    string WebSitePath = RootPath + "/" + strVirDir;

                    if(DirectoryEntry.Exists(WebSitePath))

                    {

                        DE = RootDE.Children.Find(strVirDir, VirDirType);

                        Console.WriteLine("默認站點|{0}屬性如下:\n",strVirDir);

                    }

                    else

                    {

                        Console.WriteLine("你所查詢的虛擬目錄不存在!");

                        Console.ReadKey();

                        return;

                    }                   

                }

                foreach (string elmentName in DE.Properties.PropertyNames)

                {

                    PropertyValueCollection valueCollection = DE.Properties[elmentName];

                    for (int i = 0; i < valueCollection.Count; i++)

                    {

                        Console.WriteLine(elmentName + "[" + i.ToString() + "] =" + valueCollection[i].ToString());

                    }

                }

            }

            catch(Exception e)

            {

                Console.WriteLine(e.Message);

            }

 

            Console.ReadKey();

        }

    }

}

IIS6.0中,可右擊網站(FTP站點)à默認網站(默認FTP站點)àtestà所有任務à將配置保存到一個XML文件,打開XML文件可以看到

<configuration> +<MBProperty></configuration>

其中MBPropertyMetaBase詳細屬性信息。


三.IIS屬性解析

KeyType[0] =IisWebVirtualDir  // Schema類名表明操作的目錄類型

// 【虛擬目錄】

Path[0] =D:\WebSiteTest  // 虛擬目錄|本地路徑

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["Path"][0] = 路徑字符串

 

AccessFlags[0] =513  // 虛擬目錄|讀取-寫入

// 1. 虛擬目錄|應用程序設置|執行權限為“無”時

// 1)腳本資源訪問

// 不可讀取且不可寫入為16;可讀取不可寫入為17

// 可寫入不可讀取為18;可讀取且可寫入為19

// 2)無腳本資源訪問

// 不可讀取且不可寫入為0;可讀取不可寫入為1

// 可寫入不可讀取為2;可讀取且可寫入為3

// 2. 虛擬目錄|應用程序設置|執行權限為“純腳本”時

// 1)腳本資源訪問

// 不可讀取且不可寫入為528;可讀取不可寫入為529

// 可寫入不可讀取為530;可讀取且可寫入為531

// 2)無腳本資源訪問

// 不可讀取且不可寫入為512;可讀取不可寫入為513

// 可寫入不可讀取為514;可讀取且可寫入為515

// 3. 虛擬目錄|應用程序設置|執行權限為“腳本和可執行文件”時

// 1)腳本資源訪問

// 不可讀取且不可寫入為532;可讀取不可寫入為533

// 可寫入不可讀取為534;可讀取且可寫入為535

// 2)無腳本資源訪問

// 不可讀取且不可寫入為516;可讀取不可寫入為517

// 可寫入不可讀取為518;可讀取且可寫入為519

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["AccessRead"][0] = bool; // 讀取

de.Properties["AccessWrite"][0] = bool// 寫入

de.Properties["AccessScript"][0] = bool; // 腳本資源訪問

de.Properties["AccessExecute"][0] = bool// 允許執行的權限,默認為純腳本

 

de.Properties["AccessFlags"][0] = 如上枚舉數值; // 訪問標識

// AccessFlags屬性值就是由AccessRead(1),AccessScript(512),AccessExecute(4) 等等的值// 相加而得來的。例如執行權限為“純腳本”時,無腳本資源訪問,可讀取不可寫入為513 =

// AccessScript(512) + //AccessRead(1)

// 執行權限為“腳本和可執行文件”時, AccessScript(517)

 

DirBrowseFlags[0] =-1073741762 //虛擬目錄|目錄瀏覽

// 當【文檔】啟用默認文檔時為-1073741762,否則1073741886

// 當【文檔】未啟用默認文檔時為-2147483586,否則為62

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["EnableDirBrowsing"][0] bool; // 目錄瀏覽

 

DontLog[0] = False//虛擬目錄|記錄訪問,否則True

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["DontLog"][0] bool; // 記錄訪問

 

ContentIndexed[0] =True//虛擬目錄|索引資源,否則False

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["ContentIndexed"][0] = bool// 記錄訪問

 

AppFriendlyName[0] =Test //虛擬目錄|應用程序設置|應用程序名

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["AppFriendlyName"][0] = 字符串// 應用程序名

 

AppRoot[0] =/LM/W3SVC/1/Root/test//虛擬目錄|應用程序設置|開始位置:默認網站\test

AppIsolated[0] =2 //虛擬目錄|應用程序設置|應用程序保護,低(IIS進程)為0,中(公用)// 2,高(獨立)為1,默認為2:中(公用)

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["AppIsolated"][0] = 如上枚舉數值;

 

//【自定義錯誤】

HttpErrors[0] =400,*,FILE,C:\WINDOWS\help\iisHelp\common\400.htm

……

HttpErrors[31] =500,100,URL,/iisHelp/common/500-100.asp

 

// 文檔|啟用默認文檔,可手動添加首頁。如果沒有開啟虛擬目錄|目錄瀏覽,又沒有指定首// 頁則訪問站點出/HTTP403錯誤;只能在url中詳細指定站點內具體網頁文件名稱。

DefaultDoc[0] = Default.htm,Default.asp,index.htm,iisstart.asp

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["EnableDefaultDoc"][0] bool//啟用默認文檔

 

// 【目錄安全性】

//目錄安全性|匿名訪問和身份控制|編輯|身份驗證方法|匿名訪問

AnonymousPasswordSync[0] =True

//目錄安全性|匿名訪問和身份控制|編輯|身份驗證方法|匿名訪問使用的賬戶密碼

AnonymousUserName[0] =IUSR_57E2088F08C14CC

AnonymousUserPass[0] =oEG'9bDK|S34\d

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["AuthAnonymous"][0] = bool// 允許匿名訪問

de.Properties["AnonymousUserName"][0] = 賬戶字符串// 客戶端訪問Web服務器的匿名賬戶

de.Properties["AnonymousUserPass"][0] = 密碼字符串// 客戶端訪問Web服務器的匿名賬戶密碼

 

// “另一臺計算機上的共享”(UNC|網絡目錄|連接用戶|網絡目錄安全憑據

UNCUserName[0] =Administrator

UNCPassword[0] =123456

// .NET對應屬性如下,其中de為虛擬目錄對應的DirectoryEntry對象

de.Properties["UNCUserName"][0] = 賬戶字符串// Web服務器橋接文件服務器的UNC賬戶

de.Properties["UNCPassword"][0] = 密碼字符串// Web服務器橋接文件服務器的UNC賬戶密碼

 

//ASP.NET

ScriptMaps[0] =.asp,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE

……

ScriptMaps[50] =.refresh,C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_is

api.dll,5,GET,HEAD,POST,DEBUG

// HTTP頭】

// 自定義HTTP

HttpCustomHeaders[0] =X-Powered-By: ASP.NET

 

下圖為IIS Metabase Explorer顯示的IIS元數據(Metabase)的層次結構。


參考:

IIS權限設置

IIS Metabase Properties

http://msdn.microsoft.com/en-us/library/ms525644.aspx

DirectoryEntry.Properties屬性的遍歷》

http://blog.csdn.net/wenzhoufeng/archive/2007/05/15/1610017.aspx

IIS 配置數據庫中AccessFlags屬性的處理與應用》

http://blog.csdn.net/hbu_dcf/archive/2009/03/04/3955800.aspx

IIS 6新特性》

http://www.itlearner.com/article/2007/3706_2.shtm

IIS 5.1\IIS6\IIS7ASP.NET請求處理過程比較》

http://blog.joycode.com/ghj/archive/2008/07/25/115200.aspx

該文章在 2021/6/26 23:38:15 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
一本大道香蕉大在线欧美 | 亚欧一区深夜福利视频 | 欧美亚洲精品免费 | 日本卡一卡二新区在线看 | 中文字幕偷乱视频 | 在线一区二区三区免费视频 |