[转]IIS 管理类

  1using System;
  2using System.Collections.Generic;
  3using System.Text;
  4
  5using System;
  6using System.Data;
  7using System.DirectoryServices;
  8using System.Collections;
  9
 10namespace IISManage
 11{
 12    ///<summary> 
 13    /// IIS管理类,可以实现创建站点、虚拟目录,删除虚拟目录等 /// 
 14    /// </summary> 

 15    public class IISManager
 16    {
 17
 18        private string _server, _website, _AnonymousUserPass, _AnonymousUserName;
 19        private VirtualDirectories _virdirs;
 20        protected System.DirectoryServices.DirectoryEntry rootfolder;
 21        private bool _batchflag;
 22
 23
 24        构造函数    #region 定义公共属性
 58
 59
 60        /// <summary>  
 61        /// 匿名访问用户  
 62        /// </summary>  

 63        public string AnonymousUserName
 64        {
 65            get return _AnonymousUserName; }
 66            set { _AnonymousUserName = value; }
 67        }

 68
 69
 70        /// <summary>  
 71        /// 匿名访问用户密码  
 72        /// </summary>  

 73        public string AnonymousUserPass
 74        {
 75            get return _AnonymousUserPass; }
 76            set { _AnonymousUserPass = value; }
 77        }

 78
 79
 80        /// <summary>  
 81        /// 服务器,可以是IP或计算名  
 82        /// </summary>  

 83        public string Server
 84        {
 85            get return _server; }
 86            set { _server = value; }
 87        }

 88
 89        /// <summary>  
 90        /// 站点,一般来说第一台主机为1,第二台主机为2,依次类推  
 91        /// </summary>  

 92        public int WebSite
 93        {
 94            get return Convert.ToInt32(_website); }
 95            set { _website = Convert.ToString(value); }
 96        }

 97
 98
 99        /// <summary>  
100        /// 虚拟目录的名字  
101        /// </summary>  

102        public VirtualDirectories VirDirs
103        {
104            get return _virdirs; }
105            set { _virdirs = value; }
106        }

107
108
109
110        定义公共方法
368
369        私有方法
479    }

480    /// <summary> 
481    /// 虚拟目录实体 
482    /// </summary> 

483    public class VirtualDirectory
484    {
485        private bool _read, _execute, _script, _ssl, _write, _authbasic, _authntlm, _indexed, _endirbrow, _endefaultdoc;
486        private string _ausername, _auserpass, _name, _path;
487        private int _flag;
488        private string _defaultdoc;
489
490        /// <summary>  
491        /// 构造函数  
492        /// </summary>  

493        public VirtualDirectory()
494        {
495            SetValue();
496        }

497
498
499        /// <summary>  
500        /// 构造函数 
501        /// </summary>  
502        /// <param name="sVirDirName">虚拟目录名</param> 

503        public VirtualDirectory(string sVirDirName)
504        {
505            SetValue();
506            _name = sVirDirName;
507        }

508        /// <summary>  
509        /// 构造函数  
510        /// </summary>  
511        /// <param name="sVirDirName">虚拟目录名</param>  
512        /// <param name="strPhyPath">物理路径</param>  
513        /// <param name="AnonymousUser"></param>  

514        public VirtualDirectory(string sVirDirName, string strPhyPath, string[] AnonymousUser)
515        {
516            SetValue();
517            _name = sVirDirName;
518            _path = strPhyPath;
519            _ausername = AnonymousUser[0];
520            _auserpass = AnonymousUser[1];
521        }

522
523
524
525        /// <summary> 
526        /// 设置虚拟目录的属性  
527        /// </summary>  

528        private void SetValue()
529        {
530            _read = true;
531            _execute = false;
532            _script = true;
533            _ssl = false;
534            _write = false;
535            _authbasic = false;
536            _authntlm = true;
537            _indexed = true;
538            _endirbrow = false;
539            _endefaultdoc = true;
540            _flag = 1;
541            _defaultdoc = "index.aspx";
542            _path = "C:\\";
543            _ausername = "IUSR_DEVE-SERVER";
544            _auserpass = "IUSR_DEVE-SERVER";
545            _name = "";
546        }

547
548
549        public override string ToString()
550        {
551            return this._name;
552        }

553
554        定义属性
636    }

637
638
639    /// <summary> 
640    /// 虚拟目录集合类 
641    /// </summary> 

642    public class VirtualDirectories : System.Collections.Hashtable
643    {
644        public VirtualDirectories() { }
645        /// <summary>  
646        /// 搜索指定的虚拟目录  
647        /// </summary>  
648        /// <param name="strName">虚拟目录名</param>  
649        /// <returns></returns>  

650        public VirtualDirectory Find(string strName)
651        {
652            return (VirtualDirectory)this[strName];
653        }

654    }

655}

656
原文地址:https://www.cnblogs.com/wubiyu/p/807828.html