Arquivo

Archive for fevereiro \27\America/Sao_Paulo 2013

Listar websites do IIS, incluindo host heard.


Boa tarde amigos nerds rsrsrsrsr  . . .

Estou voltando aqui para publicar um Script Vbs para ajudar-nos em uma requisição que toda vez que seu chefe solicita, você quer chorar rsrsrsrs…

Este Script lista todos websites de um servidor IIS com as propriedades necessária para um inventário logico e sua estrutura física..

 

Então vamos lá…

 

Abra o notepad ou um editor de sua preferencia…

Copie script abaixo e salve o arquivo com IIS.VBS

Copie o arquivo para o servidor de IIS que você deseja efetuar o inventario dos sites publicados

Abra um prompt de comando e vá até onde você copiou o arquivo IIS.VBS

No prompt de comando digite IIS.VBS

Nesse momento ele listará na tela todos os websites que estão publicado no servidor com o webserver (IIS) configurado, porem se você quiser que o resultado seja enviado para um arquivo, digite no prompt de comando IIS.VBS >IIS.TXT

___________________________________________________________________________

OPTION EXPLICIT

DIM CRLF, TAB
DIM strServer
DIM objWebService

TAB  = CHR( 9 )
CRLF = CHR( 13 ) & CHR( 10 )

IF WScript.Arguments.Length = 1 THEN
    strServer = WScript.Arguments( 0 )
ELSE
    strServer = "localhost"
END IF

WScript.Echo "Enumerating websites on " & strServer & CRLF
SET objWebService = GetObject( "IIS://" & strServer & "/W3SVC" )
EnumWebsites objWebService

SUB EnumWebsites( objWebService )
    DIM objWebServer, objWeb, strBindings, strBaseInfo

                WScript.Echo "SiteId" & TAB & _
                             "Comment" & TAB & _
                             "State" & TAB & _
                             "LogDir" & TAB & _
                             "RootDir" & TAB & _
                             "IP Address" & TAB & _
                             "Port" & TAB & _
                             "Host"

    FOR EACH objWebServer IN objWebService
        IF objWebserver.Class = "IIsWebServer" THEN
            set objWeb = getObject(objWebServer.adsPath & "/Root")

            strBaseInfo = _
                objWebserver.Name & TAB & _
                objWebServer.ServerComment & TAB  & _
                State2Desc( objWebserver.ServerState ) & TAB & _
                objWebServer.LogFileDirectory & Tab & _
                objWeb.Path & Tab

            ‘ Enumerate the HTTP bindings (ServerBindings) and
            ‘ SSL bindings (SecureBindings)
            EnumBindings objWebServer.ServerBindings, strBaseInfo
            EnumBindings objWebServer.SecureBindings, strBaseInfo

        END IF
    NEXT

END SUB

SUB EnumBindings( objBindingList, strBaseInfo  )
    DIM i, strIP, strPort, strHost
    DIM reBinding, reMatch, reMatches
    SET reBinding = NEW RegExp
    reBinding.Pattern = "([^:]*):([^:]*):(.*)"

    FOR i = LBOUND( objBindingList ) TO UBOUND( objBindingList )
        ‘ objBindingList( i ) is a string looking like IP:Port:Host
        SET reMatches = reBinding.Execute( objBindingList( i ) )
        FOR EACH reMatch IN reMatches
            strIP = reMatch.SubMatches( 0 )
            strPort = reMatch.SubMatches( 1 )
            strHost = reMatch.SubMatches( 2 )

            ‘ Do some pretty processing
            IF strIP = "" THEN strIP = "All Unassigned"
            IF strHost = "" THEN strHost = "*"
            IF LEN( strIP ) < 8 THEN strIP = strIP & TAB

            WScript.Echo   strBaseInfo  & _
                           strIP & TAB & _
                           strPort & TAB & _
                           strHost
        NEXT

    NEXT

END SUB

FUNCTION State2Desc( nState )
    SELECT CASE nState
    CASE 1
        State2Desc = "Starting"
    CASE 2
        State2Desc = "Started"
    CASE 3
        State2Desc = "Stopping"
    CASE 4
        State2Desc = "Stopped"
    CASE 5
        State2Desc = "Pausing"
    CASE 6
        State2Desc = "Paused"
    CASE 7
        State2Desc = "Continuing"
    CASE ELSE
        State2Desc = "Unknown"
    END SELECT

END FUNCTION

____________________________________________________________________________

Pronto, você verá que o inventário do seu webserver estará 100% pronto, precisando no máximo você importar para uma planilha ou um doc para efetivar a documentação de forma mais apresentável.

 

Por enquanto é só…. Um grande abraço… E até mais…

www.euclides.tk