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…
Criando site no IIS através de Script
Script para criação de sites no IIS 7/7.5 de forma rápida. Copie o código abaixo e salve como quicksite.cmd ou quicksite.bat ou qualquer outro nome que desejar. Abra o prompt e execute a bate da seguinte forma:
quicksite.bat IISBRASIL
quicksite.cmd IISBRASIL
Após a criação o site abrirá automaticamente em seu browser, após isso consulte o console de administração do IIS (InetMgr.exe).
@ECHO OFF
REM ========================================================================================
REM CREATE A NEW SITE IN ITS OWN APPPOOL.
REM ARGUMENTS: SITENAME
REM
REM STEPS:
REM 1) SETUP AND ARGUMENTS CHECKS
REM 2) CREATE APPPOOL (SAME NAME AS SITE)
REM 3) CREATE DIRECTORY c:\inetpub\
REM 4) CREATE DEFAULT.ASPX FILE IN c:\inetpub\
REM 5) CREATE SITE WITH PHYSICALPATH c:\inetpub\
REM 6) ASSIGN SITE ROOT APP TO APPLICATIONPOOL
REM 7) ADD SITENAME TO HOSTS FILE RESOLVING TO 127.0.0.1
REM ========================================================================================
REM GOTO USAGE IF NO COMMAND-LINE ARGUMENTS
if "%1" == "" GOTO USAGE
REM CREATE SOME LOCAL VARIABLES
SETLOCAL
SET NEWDIR="%SYSTEMDRIVE%\inetpub\%1"
SET APPCMD=%WINDIR%\system32\inetsrv\appcmd.exe
@ECHO CREATE THE APPPOOL
%APPCMD% ADD APPPOOL /NAME:"%1"
@ECHO CREATE THE CONTENT DIRECTORY
MD %NEWDIR%
@ECHO CREATE DEFAULT.ASPX FILE IN CONTENT DIRECTORY
ECHO ^ > "%NEWDIR%\default.aspx"
@ECHO CREATE NEW SITE
%APPCMD% ADD SITE /NAME:"%1" /BINDINGS:"http://%1:80" /PHYSICALPATH:"%NEWDIR%"
@ECHO ASSIGN TO APPLICATION POOL
%APPCMD% SET APP "%1/" /APPLICATIONPOOL:"%1"
@ECHO ADD SITENAME TO HOSTS FILE
ECHO 127.0.0.1 %1 >> %WINDIR%\system32\drivers\etc\hosts
@ECHO LAUNCH INTERNET EXPLORER WITH THE NEW SITE
START IEXPLORE http://%1/
REM USAGE MESSAGE IF NO COMMAND-LINE ARGUMENT WAS GIVEN
GOTO EXIT
:USAGE
@ECHO USAGE: %0 ^
@ECHO Example: "%0 MyNewSite"
:EXIT
Abraços
Euclides Pereira da Silva