zoukankan      html  css  js  c++  java
  • iis操作

    /// <summary>
            /// 获取IIS版本号
            /// </summary>
            /// <returns>-1,未安装IIS,大于-1表示版本号</returns>
            private static double GetIISVersion()
            {
                double i = -1;
                RegistryKey getKey = Registry.LocalMachine.OpenSubKey("software\\microsoft\\inetstp");
                if (getKey != null)
                {
                    string iisVer = getKey.GetValue("VersionString", -1).ToString();
                    if (iisVer != "-1")
                    {
                        i = Convert.ToDouble(iisVer.Substring((iisVer.Length - 3)));
                    }
                }
                return i;
            }

    #region IIS6管理类
        public class IIS6Manager
        {
            public IIS6Manager()
            {
            }
            /// <summary>
            /// 创建虚拟目录
            /// </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 static 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
        }
        #endregion

  • 相关阅读:
    基于node.js+socket.io+html5实现的斗地主游戏(1)概述
    [javascript]switchTab:仿腾讯首页Tab栏切换js插件
    [js]利用闭包向post回调函数传参数
    [CSS]利用伪元素实现一些特殊图形 from baidu校招
    [javascript]模块化&命名污染—from 编程精解
    [随手记]2014前端面试题解
    [IE bug] ajax请求 304解决方案
    [java]基于UDP的Socket通信Demo
    [JQuery]ScrollMe滚动特效插件
    java.lang.OutOfMemoryError及解决方案
  • 原文地址:https://www.cnblogs.com/qfcndtt/p/2551013.html
Copyright © 2011-2022 走看看