以前一直想不通怎么用纯WEB来操作IIS(以为必需要装插件),直到发现了很少用到的System.DirectoryServices才豁然开朗。

初探WEB设置IIS
Imports System
Imports System.DirectoryServices
Imports System.IO

Public Class WebForm5Class WebForm5
    Inherits System.Web.UI.Page

Web 窗体设计器生成的代码#Region " Web 窗体设计器生成的代码 "

    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()

    End Sub
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
    Protected WithEvents Label2 As System.Web.UI.WebControls.Label

    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init()Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load()Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码

        If Not Page.IsPostBack Then
            post1()
        End If

    End Sub

    Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim i, ii As Integer
        Dim txtDomain As String = ":80:" & Me.TextBox1.Text

        Dim root As DirectoryEntry = New DirectoryEntry("IIS://localhost/W3SVC")
        For Each root In root.Children
            If (root.Name = Request("ID")) And (root.SchemaClassName = "IIsWebServer") Then
                For i = 0 To root.Properties("ServerBindings").Count - 1
                    If root.Properties("ServerBindings").Item(i) = ":80:" & Trim(Me.TextBox1.Text) Then
                        Me.Label1.Text = "主机头已经存在"
                        root.Close()
                        Exit Sub
                    End If
                Next
                root.Properties("ServerBindings").Add(txtDomain)
                root.Invoke("SetInfo")
            End If
        Next
        root.Close()
        post1()
    End Sub

    Private Function strPath()Function strPath(ByVal siteID As String) As Object
        Dim root As DirectoryEntry = New DirectoryEntry("IIS://localhost/W3SVC/" & siteID & "/ROOT")
        strPath = root.Properties("Path").Value
        root.Close()
        Return strPath
    End Function

    Private Function strWebName()Function strWebName(ByVal webID As String) As Object
        Dim str1, str2 As String
        Dim root As DirectoryEntry = New DirectoryEntry("IIS://localhost/W3SVC")
        For Each root In root.Children
            If (root.Name = webID) And (root.SchemaClassName = "IIsWebServer") Then
                Dim t, i As Integer
                For t = 0 To root.Properties("ServerBindings").Count - 1
                    str2 &= "主机头 " & t & " = " & root.Properties("ServerBindings").Item(t) & "<br>"
                Next
                str1 = root.Properties("ServerComment").Value
            End If
        Next
        Me.Label2.Text = str2
        root.Close()
        Return str1
    End Function

    Private Sub post1()Sub post1()
        Dim intID As Integer = Request("ID")
        Response.Write("网站名称= " & strWebName(intID))
        Response.Write("<br>")
        Response.Write("所在路径= " & strPath(intID))
        Response.Write("<p>")
    End Sub

End Class

效果如下:

转载于:https://www.cnblogs.com/LCX/archive/2006/04/16/376510.html

列出IIS上的虚拟目录和网站信息。相关推荐

  1. iis上实现虚拟目录

    有时候项目中需要 将引用相同的文件 可以再iis上建立虚拟目录 (其实就是一个文件夹) 比如 temp文件夹在另外的站点上 可以通过虚拟目录 将其引用进来!

  2. WCF 部署在IIS上

    一. 环境vs2010,WCF应用程序,server 2008 第一步:WCF项目右键点击项目,选择生成部署包,如下图: 第二步:WCF项目上右键,选择:在windows资源管理器中打开文件夹,如下图 ...

  3. vbs脚本在服务器上虚拟按键,iisvdir.vbs iis虚拟目录管理脚本使用介绍

    IIS管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的.我们可以通过命令行的方式来执行iisvdir.vbs脚本 1)创建虚拟目录: cscript c:\windows\syst ...

  4. 将远程计算机上的文件夹,如何将现有网站上虚拟目录创建到驻留在远程计算机上的文件夹...

    如何将现有网站上虚拟目录创建到驻留在远程计算机上的文件夹 09/27/2020 本文内容 本文介绍如何将现有网站上虚拟目录创建.测试和删除到驻留在远程计算机上的文件夹. 适用于:  Windows S ...

  5. IIS配置映射磁盘虚拟目录

    大家都知道,http协议是无法访问该网站管辖范围以外的路径的,如果网站需要访问其他路径下的产品,那么,可以通过挂载"虚拟目录"的方式来实现! 下面我来说一下在IIS中添加虚拟目录的 ...

  6. linux下创建nginx虚拟目录详解,通过Samba映射Linux磁盘作为Windows IIS的虚拟目录--梦飞翔的地方(梦翔天空)...

    对于Windows和Linux共存的网站,头疼的问题之一是数据共享.例如,网站有大量静态网页,这些页面由WINDOWS动态站点生成,由LINUX的NGINX(或APACHE.LIGHTHTTP)展示, ...

  7. Macbook 本机 apache 虚拟主机和网站,多域名、多虚拟目录,并且允许列举所有文件和目录...

    20190613 很久不再使用 apache 服务器,最近试试我的本机上的 apache2,发现又不能用了! 我希望在本机调试 php 程序,所以需要 apache 支持 php 为了调试方便,我需要 ...

  8. 配置IIS之虚拟目录

    什么是IIS虚拟目录?有什么优点? 虚拟目录指在站点下建立一个虚拟子目录,指定一个固定的物理路径做为站点的应用路径. 1.虚拟目录与父级站点共用一个应用程序池,例如:站点TestWeb(c:\Inet ...

  9. 虚拟目录继承根Web.Config的问题解决(转)

    很多人有时都会为虚拟目录中的web.config继承了主目录中的web.config而苦恼,大部分主要是由于根目录中的web.config添加了httphandler. httpmodule 引起的. ...

最新文章

  1. WordPress数据库优化技巧
  2. 热门解读:大促的活动设计及效果评估的优化
  3. 文件创建和删除命令:touch、rm
  4. 《你不知道的JavaScript》-- 精读(五)
  5. activeMQ在文件上传的应用
  6. VxWorks动态加载
  7. 树莓派摄像头基础配置及测试
  8. jupyter notebook 增加kernel的方法
  9. 利用贝叶斯分类器进行文本挖掘---笔记
  10. 温度湿度传感器流程图_为什么温湿度传感器用一段时间就会漂移?
  11. 物联网卡如何帮助农民提高收益
  12. 蒙特卡罗仿真(1):入门求生指南(Python实例)
  13. BATT入局,小程序成超级APP连接一切的枢纽
  14. 【程序员如何买基金 五】挑选合适的指数和指数基金
  15. Windwos磁盘管理工具diskpart
  16. Masked Arrays(numpy arrays掩码)针对数据中存在无效或者确实数据
  17. Elasticsearch 中为什么选择倒排索引而不选择 B 树索引
  18. 微信内测推出新功能,朋友圈“修改可见范围”
  19. 利用CMake编译OpenCV-4.1.2源码,使其可以在VS2012下进行图像处理开发的记录(因缺少OpenBLAS未成功)
  20. Exceptions In Java

热门文章

  1. LeetCode(706)——设计哈希映射(JavaScript)
  2. C++---static关键字
  3. 【Node】—接收参数 插入数据 实现注册功能
  4. Fence Repair(不会优先队列的看过来)
  5. 有做行业站的转行做企业站的吗?
  6. 如何将 namedtuple 转换为字典或常规元组
  7. 我的宽带是100兆,为什么到户只有30-50兆,我应该换成什么型号的路由器?
  8. 华为的鸿蒙系统和苹果的操作系统有什么区别?
  9. Golang标准库RPC实践及改进
  10. sql azure 语法_什么是Azure SQL Cosmos DB?