iis manager

ContractedBlock.gifExpandedBlockStart.gifCode
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace ShippingProjects
{
   
   
public  class IISManager
      {
          
public IISManager() 
          { 
          } 

          
/// <summary>
          
/// 创建虚拟目录
          
/// new IISManager().CreateVDir("localhost", "V", "c:\\vv", false, true, false, false, true, false, 1, "localhost");
          
/// </summary>
          
/// <param name="WebSite">服务器站点名称</param>
          
/// <param name="VDirName">虚拟目录名称</param>
          
/// <param name="Path"></param>
          
/// <param name="RootDir"></param>
          
/// <param name="chkRead"></param>
          
/// <param name="chkWrite"></param>
          
/// <param name="chkExecute"></param>
          
/// <param name="chkScript"></param>
          
/// <param name="chkAuth"></param>
          
/// <param name="webSiteNum">1</param>
          
/// <param name="serverName">localhost</param>
          
/// <returns></returns>
          public string CreateVDir(string WebSite,string VDirName, string Path, bool RootDir, bool chkRead,bool chkWrite, bool chkExecute, bool chkScript, bool chkAuth, int webSiteNum, string serverName) 
          { 
              
string sRet=String.Empty; 
              
              System.DirectoryServices.DirectoryEntry IISSchema; 
              System.DirectoryServices.DirectoryEntry IISAdmin; 
              System.DirectoryServices.DirectoryEntry VDir; 
              
bool IISUnderNT; 
              
// 
              
// 确定IIS版本
              
// 
              IISSchema = new System.DirectoryServices.DirectoryEntry("IIS://"  + serverName + "/Schema/AppIsolated"); 
              
if(IISSchema.Properties["Syntax"].Value.ToString().ToUpper()=="BOOLEAN"
                  IISUnderNT
=true
              
else 
                  IISUnderNT
=false
              IISSchema.Dispose(); 
              
// 
              
// Get the admin object 
              
// 获得管理权限
              
// 
              IISAdmin=new System.DirectoryServices.DirectoryEntry("IIS://" +serverName +"/W3SVC/" + webSiteNum + "/Root"); 
              
// 
              
// If we're not creating a root directory 
              
// 如果我们不能创建一个根目录
              
// 
              if (!RootDir) 
              { 
                  
// 
                  
// If the virtual directory already exists then delete it 
                  
// 如果虚拟目录已经存在则删除
                  
// 
                  foreach(System.DirectoryServices.DirectoryEntry v in IISAdmin.Children) 
                  { 
                      
if (v.Name == VDirName) 
                      { 
                          
// Delete the specified virtual directory if it already exists 
                          try 
                          { 
                          IISAdmin.Invoke(
"Delete"new string [] { v.SchemaClassName, VDirName }); 
                          IISAdmin.CommitChanges(); 
                          } 
                          
catch(Exception ex) 
                          { 
                          sRet
+=ex.Message; 
                          } 
                      } 
                  } 
              }     
              
// 
              
// Create the virtual directory 
              
// 创建一个虚拟目录
              
// 
              if (!RootDir) 
              { 
                  VDir 
= IISAdmin.Children.Add(VDirName, "IIsWebVirtualDir"); 
              } 
              
else 
              { 
                  VDir 
= IISAdmin; 
              } 
              
// 
              
// Setup the VDir 
              
// 安装虚拟目录
              
//
              VDir.Properties["AccessRead"][0= chkRead; 
              VDir.Properties[
"AccessExecute"][0= chkExecute; 
              VDir.Properties[
"AccessWrite"][0= chkWrite; 
              VDir.Properties[
"AccessScript"][0= chkScript; 
              VDir.Properties[
"AuthNTLM"][0= chkAuth; 
              VDir.Properties[
"EnableDefaultDoc"][0= true
              VDir.Properties[
"EnableDirBrowsing"][0= false
              VDir.Properties[
"DefaultDoc"][0= true
              VDir.Properties[
"Path"][0= Path; 
              
// 
              
// NT doesn't support this property 
              
// NT格式不支持这特性
              
// 
              if (!IISUnderNT) 
              { 
                  VDir.Properties[
"AspEnableParentPaths"][0= true
              } 
              
// 
              
// Set the changes  
              
// 设置改变
              
// 
              VDir.CommitChanges(); 
              
// 
              
// Make it a web application 
              
// 创建一个web应用
              
// 
              if (IISUnderNT) 
              { 
                  VDir.Invoke(
"AppCreate"false); 
              } 
              
else 
              { 
                  VDir.Invoke(
"AppCreate"1); 
              } 
              sRet
+= "VRoot " +VDirName + " created!"
              
return sRet; 
          } 

          
#region Properties 
          
public string ServerName 
          { 
          
get 
          { 
          
return _serverName; 
          } 
          
set 
          { 
          _serverName 
= value; 
          } 
          } 
          
#endregion
          
public static string VirDirSchemaName = "IIsWebVirtualDir";
          
#region Private Members     
          
private string _serverName;
          
#endregion 
      } 
}

转载于:https://www.cnblogs.com/jiangchao/archive/2008/10/29/1322245.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值