华域联盟 vbs CreateWeb.vbs 代码

CreateWeb.vbs 代码

'==============================================================================

'

'  The .NET PetShop Blueprint Application WebSite Setup

'

'  File: CreateWeb.vbs

'  Date: November 10, 2001

'

'  Creates a new vdir for this project. Set vName to name of folder on disk 

'  that holds the files.

'

'==============================================================================

'

' Copyright (C) 2001 Microsoft Corporation

'

'==============================================================================

Option Explicit

dim vPath

dim scriptPath

dim vName

vName="PetShop" ' name of web to create

' *****************************************************************************

'

' 1. Create the IIS Virtual Directory

'

' *****************************************************************************

' get current path to folder and add web name to it

scriptPath = left(Wscript.ScriptFullName,len(Wscript.ScriptFullName ) -len(Wscript.ScriptName))

vPath = scriptPath & "Web"

'call to create vDir

CreateVDir(vPath)

' ----------------------------------------------------------------------------

'

' Helper Functions

'

' -----------------------------------------------------------------------------

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Creates a single Virtual Directory (code taken from mkwebdir.vbs and 

' changed for single vDir creation).

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub CreateVDir(vPath)

    Dim vRoot,vDir,webSite

    On Error Resume Next

    ' get the local host default web

    set webSite = findWeb("localhost", "Default Web Site")

    if IsObject(webSite)=False then

        Display "Unable to locate the Default Web Site"

        exit sub

    else

        'display webSite.name

    end if

    ' get the root

    set vRoot = webSite.GetObject("IIsWebVirtualDir", "Root")

    If (Err <> 0) Then

        Display "Unable to access root for " & webSite.ADsPath

        Exit sub

    else

        'display vRoot.name

    End IF

    ' delete existing web if needed

    vRoot.Delete "IIsWebVirtualDir",vName

    vRoot.SetInfo

    Err=0 ' reset error 

    ' create the new web

    Set vDir = vRoot.Create("IIsWebVirtualDir",vName)

    If (Err <> 0) Then

        Display "Unable to create " & vRoot.ADsPath & "/" & vName & "."

        exit sub

    else

        'display vdir.name

    end if

    ' set properties on the new web 

    vDir.AccessRead = true

    vDir.Path = vPath

    vDir.Accessflags = 529

        VDir.AppCreate False

    If (Err <> 0) Then

        Display "Unable to bind path " & vPath & " to " & vRoot.Name & "/" & vName & ". Path may be invalid."

        exit sub

    end If

    ' commit changes

    vDir.SetInfo

    If (Err <> 0) Then

        Display "Unable to save changes for " & vRoot.Name & "/" & vName & "."

        exit sub

    end if

    ' report all ok

    WScript.Echo Now & " " & vName & " virtual directory " & vRoot.Name & "/" & vname & " created successfully."

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Finds the specified web.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function findWeb(computer, webname)

    On Error Resume Next

    Dim websvc, site

    dim webinfo

    Dim aBinding, binding

    set websvc = GetObject("IIS://"&computer&"/W3svc")

    if (Err <> 0) then

        exit function

    end if

    ' First try to open the webname.

    set site = websvc.GetObject("IIsWebServer", webname)

    if (Err = 0) and (not isNull(site)) then

        if (site.class = "IIsWebServer") then

            ' Here we found a site that is a web server.

            set findWeb = site

            exit function

        end if

    end if

    err.clear

    for each site in websvc

        if site.class = "IIsWebServer" then

            '

            ' First, check to see if the ServerComment

            ' matches

            '

            If site.ServerComment = webname Then

                set findWeb = site

                exit function

            End If

            aBinding=site.ServerBindings

            if (IsArray(aBinding)) then

                if aBinding(0) = "" then

                    binding = Null

                else

                    binding = getBinding(aBinding(0))

                end if

            else 

                if aBinding = "" then

                    binding = Null

                else

                    binding = getBinding(aBinding)

                end if

            end if

            if IsArray(binding) then

                if (binding(2) = webname) or (binding(0) = webname) then

                    set findWeb = site

                    exit function

                End If

            end if 

        end if

    next

End Function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Gets binding info.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

function getBinding(bindstr)

    Dim one, two, ia, ip, hn

    one=Instr(bindstr,":")

    two=Instr((one+1),bindstr,":")

    ia=Mid(bindstr,1,(one-1))

    ip=Mid(bindstr,(one+1),((two-one)-1))

    hn=Mid(bindstr,(two+1))

    getBinding=Array(ia,ip,hn)

end function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Displays error message.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Display(Msg)

    WScript.Echo Now & ". Error Code: " & Hex(Err) & " - " & Msg

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Display progress/trace message.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Trace(Msg)

    WScript.Echo Now & " : " & Msg  

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Remove the web.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub DeleteWeb(WebServer, WebName)

    ' delete the exsiting web (ignore error if missing)

    On Error Resume Next

    Dim vDir

    display "deleting " & WebName

    WebServer.Delete "IISWebVirtualDir",WebName

    WebServer.SetInfo

    If Err=0 Then

        DISPLAY "WEB " & WebName & " deleted."

    else

        display "can't find " & webname

    End If

End Sub

本文由 华域联盟 原创撰写:华域联盟 » CreateWeb.vbs 代码

转载请保留出处和原文链接:https://www.cnhackhy.com/14807.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部