El Blog de Gualtrysoft

Windows 2000/2003/2008, Active Directory, VBScript, Hyper-V, PowerShell y todo aquello interesante a la hora de usar, configurar y administrar Windows Server. También tenemos longanizas…

Script VBScript Para Ver La Version De IIS

Posted by urpiano en Miércoles 20 \20\UTC junio \20\UTC 2007

Script VBScript que dice la versión de IIS instalada en uno o más equipos

Sintaxis

cscript [//nologo] version-iis.vbs [/E:equipos] [/N] [/F:fichero] [/U:usuario de conexion [/C:contraseña]][/?]

Siendo

Parámetro ¿Requerido? Descripción
/E No
Lista de equipos a los que se quiere revisar la version de IIS. Esta lista son los nombres de los equipos separados por comas. Si se omite este parámetro se revisará en el equipo local.Es requerido que se pase /E o /N.
/N No Si se pasa este modificador, se ignora lo que pudiera recibir el parámetro /E y se revisan todos los equipos que se obtiene al ejecutar el comando NET VIEW. Es requerido que se pase /E o /N.
/F No Ruta más nombre del fichero al que volcar los resultados obtenidos por el script. En caso de omitirse, se mostrará por pantalla. El fichero resultante es un fichero de valores separados por tabulador, ideal para ser abierto con Excel.
/U No
Nombre del usuario que se utilizará para conectar con el servicio WMI del equipo. En caso de omitirse se utilizará el usuario que lanza el script. Si se trata del equipo local se ignora, pues no se puede conectar al servicio WMI con credenciales alternativas en el equipo local; en este caso se debe ejecutar desde una ventana de comandos (cmd.exe) abierta con un administrador local usando RunAs, por ejemplo.
/C No
Cuando está establecido el parámetro /U, este parámetro nos permite especificar la contraseña del usuario que conectará con el servicio WMI. Si no está especificado el parámetro U se ignorará. Si está establecido el parámetro U y este parámetro es omitido, el script presentará una ventana de Internet Explorer donde entrar la contraseña. Es recomendable no usar este parámetro, pues implica que se teclea la contraseña y alguien puede verla; como el usuario debe tener derechos administrativos, es peligroso que tengamos la contraseña expuesta. Al usar una ventana de IE para teclear la contraseña, esto se realiza en una caja de texto de tipo password, quedando enmascarada, protegida de ojos indiscretos.
/? No
Muestra la ayuda en línea.

Nota: en el equipo local no se puede conectar a WMI con credenciales alternativas. Si el usuario que está lanzando el script no tiene privilegios suficientes para poder ejecutarlo, se debe usar RunAs. Con equipos remotos no hay problema en usar credenciales alternativas.

Ejemplos:

– Revisamos el equipo local.

cscript //nologo version-iis.vbs

– Revisamos los equipos snaug, grima y saruman.

cscrip //nologo version-iis.vbs /E:snaug,grima,saruman

– Revisamos los equipos snaug, grima y saruman utilizando las credenciales del usuario mordorreybrujo y suministrando su contraseña.

cscript version-iis.vbs /E:snaug,grima,saruman /U:mordorreybrujo /C:"soy malisimo".

– Revisamos los equipos de la red utilizando las credenciales del usuario mordorreybrujo y suministrando su contraseña; el resultado se volcará en el fichero c:listados de redmordor.txt.

cscript version-iis.vbs /N /U:mordorreybrujo /C:"soy malisimo" /f:"c:listados de redmordor.txt"

Este es el código del script

'version-iis.vbs
'
'Script VBScript que dice la versión de IIS instalada en uno o más 
'equipos
'
'Sintaxis
'
'cscript [//nologo] version-iis.vbs [/E:equipos]
'[/U:usuario de conexion [/C:contraseña]] [/N]
'[/F:fichero] [/?] 
'
'Siendo
'
'    - /E: opcional. Lista de equipos a los que se quiere revisar
'                    la version de IIS. Esta lista son los
'                    nombres de los equipos separados por comas.
'                    Si se omite este parámetro se revisará en el
'                    equipo local.Es requerido que se pase /E o /N.
'
'    - /N: opcional  Si se pasa este modificador, se ignora lo que
'                    pudiera recibir el parámetro /E y se pasa a
'                    revisar todos los equipo que se obtiene al 
'                    ejecutar el comando NET VIEW. Es requerido que
'                    se pase /E o /N.
'
'    - /F: opcional  Ruta más nombre del fichero al que volcar los
'                    resultados obtenidos por el script. En caso de
'                    omitirse, se mostrará por pantalla. El fichero
'                    resultante es un fichero de valores separados
'                    por tabulador, ideal para ser abierto con Excel
'
'    - /U: opcional. Nombre del usuario que se utilizará para conectar
'                    con el servicio WMI del equipo. En caso de
'                    omitirse se utilizará el usuario que lanza el
'                    script.
'
'    - /C: opcional. Cuando está establecido el parámetro U, este
'                    parámetro nos permite especificar la contraseña
'                    del usuario que conectará con el servicio WMI.
'                    Si no está especificado el parámetro U se
'                    ignorará. Si está establecido el parámetro U
'                    y este parámetro es omitido, el script presentará
'                    una ventana de Internet Explorer donde entrar la
'                    contraseña. Es recomendable no usar este parámetro,
'                    pues implica que se teclea la contraseña y alguien
'                    puede verla; como el usuario debe tener derechos
'                    administrativos, es peligroso que tengamos la
'                    la contraseña expuesta. Al usar una ventana de IE
'                    para teclear la contraseña, esto se realiza en
'                    una caja de texto de tipo password, quedando
'                    enmascarada, protegida de ojos indiscretos.
'
'    - /?: opcional. Muestra la ayuda en línea.
'
'Nota: en el equipo local no se puede conectar a WMI con credenciales
'       alternativas. Si el usuario que está lanzando el script no
'       tiene privilegios suficientes para poder ejecutarlo, se debe
'       usar RunAs. Con equipos remotos no hay problema en usar
'       credenciales alternativas
'
'Ejemplos:
'
'- Revisamos el equipo local
'
'cscript //nologo version-iis.vbs
'
'- Revisamos los equipos snaug, grima y saruman
'
'cscrip //nologo version-iis.vbs /E:snaug,grima,saruman
'
'- Revisamos los equipos snaug, grima y saruman utilizando las
'  credenciales del usuario mordorreybrujo y suministrando su
'  contraseña
'
'cscript version-iis.vbs /E:snaug,grima,saruman
'             /U:mordorreybrujo /C:"soy malisimo"
'
'- Revisamos los equipos de la red utilizando las
'  credenciales del usuario mordorreybrujo y suministrando su
'  contraseña; el resultado se volcará en el fichero
'  c:listados de redmordor.txt
'
'cscript version-iis.vbs /N
'             /U:mordorreybrujo /C:"soy malisimo"
'             /f:"c:listados de redmordor.txt"
'
'© Fernando Reyes - Junio de 2007

'Constante del la rama LOCAL MACHINE del registro
Const HKEY_LOCAL_MACHINE = &H80000002

Dim arr_Equipos, str_Usuario, str_Clave
Dim arr_Contenido, int_Equipo, str_Salida
Dim obj_FS, obj_TS

'Si se ha solicitado la ayuda, se muestra y termina
'el script
If WScript.Arguments.Named.Exists("?") Then

    Call s_Ayuda("***********************" & _
                 vbCrLf & _
                 "*        AYUDA        *" & _
                 vbCrLf & _
                 "***********************")
    WScript.Quit  

End If


'Si hay que revisar todos los equipos de la red
'(los que salen al hacer "net view")
If WScript.Arguments.Named.Exists("N") Then

    Call s_NetView(arr_Equipos)
    
'Si se ha pasado una lista de equipos, la guardamos
'en la variable arr_Equipos como array
ElseIf WScript.Arguments.Named.Exists("E") Then

    arr_Equipos = Split(WScript.Arguments.Named("E"),",")

'si no se ha pasado establecemos un único elemento en el
'array, como cadena vacía
Else

    arr_Equipos = Array("")

End If

'Miramos si se ha recibido el parámetro de usuario de conexión a
'WMI
If WScript.Arguments.Named.Exists("U") Then

    'Como se ha recibido, lo recogemos
    str_Usuario = WScript.Arguments.Named("U")

    'Miramos si se ha recibido contraseña
    If WScript.Arguments.Named.Exists("C") Then

        'si se ha recibido lo recogemos
        str_Clave = WScript.Arguments.Named("C")

    Else

        'Como no se ha recibido, llamamos a la función
        'que pedirá al usuario que entre la contraseña
        str_Clave= f_EntrarClave("\fernandor-fcompartido" & _
                                 "usuario-conexion.htm")

    End If

'No se ha recibido parámetro de usuario, dejamos las
'variables vacías
Else

    str_Usuario = ""
    str_Clave = ""

End If

str_Salida = "Equipo" & vbTab & "IIS" & vbCrLf & _
             "======" & vbTab & "======"

'Procesamos los equipos
For int_Equipo = LBound(arr_Equipos) To UBound(arr_Equipos)

    Call s_ProcesarEquipo(arr_Equipos(int_Equipo),str_Salida)

Next 'int_Equipo

'Si hay que volcar la información a un fichero lo hacemos
If WScript.Arguments.Named.Exists("F") Then

    Set obj_FS = CreateObject("Scripting.FileSystemObject")
    Set obj_TS = obj_FS.CreateTextFile( _
                   WScript.Arguments.Named("F"),True)
                   
    obj_TS.Write str_Salida
    
    obj_TS.Close
    
    Set obj_TS = Nothing
    Set obj_FS = Nothing
    
'Si no hay que volcar la información a un fichero se
'muestra por pantalla
Else

    WScript.Echo str_Salida
    
End If

Sub s_ProcesarEquipo(str_Equipo, str_Salida)
'Este procedimiento se encarga de procesar el equipo
'de nombre el parámetro recibido

    Dim col_SOs, obj_SO, str_Espacio, int_Devolucion
    Dim obj_ServicioWMI, obj_Registro, str_RutaRegistro
    Dim str_Mayor, str_Menor, str_ContenidoMayor
    Dim str_ContenidoMenor, bol_Devolucion 

    bol_Devolucion = f_EquipoLocal(str_Equipo)

    'Conectaremos al espacio de nombres default
     str_Espacio = "rootdefault"

    'Conectamos con el servicio WMI del equipo
    If Not f_ServicioWMI(obj_ServicioWMI, _
                         str_Usuario, str_Clave, _
                         str_Equipo, str_Espacio) Then

        WScript.Echo str_Equipo & ": No se ha podido cone" & _
                     "ctar con el servicio WMI"
        Exit Sub

    End If

    'Obtenemos el proveedor del registro
    Set obj_Registro = obj_ServicioWMI.Get("StdRegProv")

    'Establecemos la clave del registro donde se ubican
    'los valores MajorVersion y MinorVersion
    str_RutaRegistro = "SYSTEMCurrentControlSetServices" & _
                       "W3SVCParameters"

    'Establecemos los nombres de los valores
    str_Mayor = "MajorVersion"
    str_Menor = "MinorVersion"

    'Obtenemos MajorVersion
    obj_Registro.GetDwordValue HKEY_LOCAL_MACHINE,_
                                     str_RutaRegistro, _
                                     str_Mayor, _
                                     str_ContenidoMayor

    'Obtenemos MinorVersion
    obj_Registro.GetDwordValue HKEY_LOCAL_MACHINE,_
                                     str_RutaRegistro, _
                                     str_Menor, _
                                     str_ContenidoMenor
                                     
    'Si no hay contenido es que no tiene IIS;
    'dejamos un guión como versión
    If IsNull(str_ContenidoMayor) Then
    
        str_Salida = str_Salida & vbCrLf & _
                     str_Equipo & vbTab & "-"
        
    'Sí tiene IIS, mostramos la versión
    Else
    
        str_Salida = str_Salida & vbCrLf & _
                     str_Equipo & vbTab & _
                     str_ContenidoMayor & "." & _
                     str_ContenidoMenor
                     
    End If
    
    'Parte posterior aseada :-)
    Set obj_Registro = Nothing
    Set obj_ServicioWMI = Nothing

End Sub 's_ProcesarEquipo

Function f_ServicioWMI(obj_ServicioWMI, str_Usuario, _
                       str_Clave, str_Equipo, _
                       str_Espacio)
'*****************Descripción********************************
'Esta función permite conectar con el servicio WMI de un equipo.
'La conexión puede ser realizada directamente por el usuario
'que ha lanzado el script o por otro usuario cuyas credenciales
'son recibidas como parámetros. La función recibe como parámetro
'un objeto que será utilizado como parámetro de salida, siendo
'creado por la función como objeto de servicio WMI del equipo
'recibido como parámetro. Si recibe usuario, contraseña y nombre
'de equipo a conectar, conectará con ése equipo con las
'credenciales pasadas, siempre y cuando no se trate del equipo
'local, en cuyo caso no se conectará con credenciales alternativas
'si no con el usuario que lanza el script. Si está vacío el
'parámetro str_Espacio, se conectará con el espacio de nombres
'rootCIMV2, en caso contrario con el espacio pasado.
'*****************Fin de la descripción**********************

    Dim obj_LocalizadorWMI
    Dim lng_Respuesta

    If Len(str_Espacio) = 0 Then str_Espacio = "rootCIMV2"

    'Si hemos recibido nombre de usuario, debemos conectar
    'al servicio WMI del equipo como el usuario
    'recibido. en el caso de que se trate del equipo local
    'ignoramos las credenciales alternativas
    If Len(str_Usuario) > 0 _
    And Not f_EquipoLocal(str_Equipo) Then

        'Para poder especificar unas credenciales alternativas,
        'debemos crear primero un localizador WMI
        Set obj_LocalizadorWMI = CreateObject( _
                                  "WbemScripting.SWbemLocator")

        'Establecemos control de errores
        On Error Resume Next
        'Conectamos con el servicio WMI del equipo con las
        'credenciales pasadas
        Set obj_ServicioWMI = obj_LocalizadorWMI.ConnectServer( _
                                       str_Equipo, str_Espacio, _
                                       str_Usuario, str_Clave)

        'Si se ha producido algún error...
        If Err.Number <> 0 Then

            'Lo primero es vaciar la variable con el localizador WMI
            Set obj_LocalizadorWMI = Nothing

            'Mostramos el error
            WScript.Echo vbCrLf & vbCrLf & _
                         Err.Number & ": " & Err.Description

            'Vaciamos el objeto Err
            Err.Clear

            'Devolvemos False
            f_ServicioWMI = False

            'Salimos de la función
            Exit Function

        End If

    Else

        'Podemos conectar directamente con el servicio WMI del
        'equipo sin necesidad de utilizar el localizador WMI
        'ya que no hay que hacerlo con otras credenciales
        'distintas a las del usuario que lanza el script
        Set obj_ServicioWMI = GetObject("winmgmts:\" & _
                                    str_Equipo  & "" & _
                                    str_Espacio)

        'si se ha producido algún error...
        If Err.Number <> 0 Then

            'Mostramos el error
            WScript.Echo Err.Number & ": " & Err.Description & _
                         vbCrLf & vbCrLf

            'Vaciamos el objeto Err
            Err.Clear

            'Devolvemos False
            f_ServicioWMI = False

            'Salimos de la función
            Exit Function

        End If

    End If

    'No se han producido errores, devolvemos True
    f_ServicioWMI = True

    'Limpieza de culito :-)
    Set obj_LocalizadorWMI = Nothing

End Function 'f_ServicioWMI

Function f_EquipoLocal(str_Equipo)
'*****************Descripción********************************
'Esta función recibe un nombre de equipo y comprueba si se
'trata del equipo local o de uno remoto. Si es el equipo local
'devuelve True, si es remoto False. De paso, si como nombre 
'de equipo local recibió "." cambiará en la variable recibida
'al nombre verdadero del equipo
'*****************Fin de la descripción**********************

    Dim obj_SH, str_EquipoEntorno

    f_EquipoLocal = False

    'Creamos un objeto WshShell
    Set obj_SH = CreateObject("WScript.Shell")

    'Obtenemos el valor de la variable de entorno con
    'el nombre de equipo
    str_EquipoEntorno = UCase(_
       obj_SH.ExpandEnvironmentStrings("%COMPUTERNAME%"))

    'Si está vacío el nombre de equipo, o es ".",
    'se trata del equipo local; lo asignamos a la
    'variable
    If Len(str_Equipo) = 0 _
    Or str_Equipo = "." Then

        str_Equipo = str_EquipoEntorno
        f_EquipoLocal = True

    'Ahora revisamos no se haya pasado el FQDN del equipo
    'local o su nombre NetBios
    ElseIf _
        ( _
        Len(str_Equipo) > Len(str_EquipoEntorno) _
        And UCase(Left(str_Equipo,Len(str_EquipoEntorno))) = _
                      UCase(str_EquipoEntorno) _
        And Mid(str_Equipo, Len(str_EquipoEntorno) + 1,1) = _
                      "." _
        ) _
    Or UCase(str_Equipo) = UCase(str_EquipoEntorno) Then

            str_Equipo = str_EquipoEntorno
            f_EquipoLocal = True

    End If        

End Function 'f_EquipoLocal

Function f_EntrarClave(str_HTML)
'*****************Descripción********************************
'El propósito de esta función es el proveer al usuario de una caja
'de texto en la que teclear una contraseña sin revelarla, pues
'la caja de texto es de tipo password. Para ello se crea una página
'web que es cargada en un Internet Explorer y se recoge de éste
'la contraseña tecleada y se convierte en la devolucion de la función.
'La ruta y nombre de la página es recibida como parámetro por la
'función, lo que permite reutilizar esta función en más scripts y
'personalizar la página para cada script, lo único que debe ser igual
'en todas las páginas que se quieran utilizar es que el botón debe
'llamarse Aceptar, el control oculto AceptarPulsado y la caja de texto
'Clave.

'Esta función está basada en:
'http://www.microsoft.com/technet/scriptcenter/guide/sas_ent_lppm.mspx?mfr=true

'En el ejemplo de TechNet se pone una ruta local (c:carpetafichero.asp)
'para la ubicación del fichero. Esto no es correcto cuando estamos de
'XP SP2 en adelante, pues la navegación segura interfiere con el script,
'Ya que contiene un script VBScript. Para evitar esto, yo lo que hago
'es situar el fichero en una carpeta compartida y acceder a él con su
'ruta UNC; de esta manera es tratado como de la zona de intranet y no
'hay problemas. También se podría colocar en un servidor Web que fuese
'de la intranet o de los sitios de confianza y referirse a él por su
'ruta http; la mejor opción de todas sería situarlo en un servidor
'web seguro, y poner su ruta https, de esa manera eludimos a alguien
'que esté usando un sniffer

'El código de la página puede ser algo tan simple como:

'********************************************************************
'<html>
'<script language="VBScript">
'<!--
'    Sub Aceptar_OnClick

'        AceptarPulsado.Value = "Pulsado"

'    End Sub
'-->
'</script>
'<body>
'Entre la contraseña del usuario con el que se conectará al servicio
'WMI del equipo: <input type="password" name ="Clave" size="20">
'<p><input name="Aceptar" type="button" value="Aceptar" ></p>
'<p><input type="hidden" name="AceptarPulsado" size="20"></p>
'</body></html>
'*******************************************************************
'*****************Fin de la descripción**********************

    'Declaramos variables
    Dim obj_IE

    'Creamos un objeto Internet Explorer
    Set obj_IE = WScript.CreateObject _
              ("InternetExplorer.Application", "IE_")

    'Cargamos el navegador con la página recibida como parámetro
    obj_IE.Navigate str_HTML

    'Con este bucle esperamos a que la página esté completamente cargada
    Do

        WScript.Sleep 10

    Loop Until obj_IE.ReadyState = 4    

    'Establecemos propiedades del navegador
    obj_IE.ToolBar = 0
    obj_IE.StatusBar = 0
    obj_IE.Width = 400
    obj_IE.Height = 250
    obj_IE.Left = 0
    obj_IE.Top = 0
    obj_IE.Visible = 1

    'En este bucle esperamos a que se haya pulsado el botón
    '"Aceptar"
    Do While (obj_IE.Document.All.AceptarPulsado.Value = "")

        WScript.Sleep 250

    Loop

    'Recogemos la contraseña entrada
    str_Clave = obj_IE.Document.All.Clave.Value

    'Cerramos el navegador
    obj_IE.Quit

    'Esperamos a que esté cerrado
    WScript.Sleep 250

    'Establecemos la contraseña como devolución de la función
    f_EntrarClave = str_Clave  

    'Limpiadita de culito :-)
    Set obj_IE = Nothing

End Function 'f_EntrarClave

Sub s_NetView(arr_Equipos)
'*****************Descripción********************************
'Este procedimiento recibe un array que cargará
'con los nombres de los equipos que se obtienen al hacer
'NET VIEW
'*****************Fin de la descripción**********************

    Dim str_Comando, obj_FS, obj_TS
    Dim str_Texto, obj_SH
    
    'Creamos iun objeto wshShell que nos permitirá
    'usar las variables de entorno
    Set obj_SH = CreateObject("WScript.Shell")
    
    'Establecemos el comando con el obtendremos un listado
    'de los equipos (usando NET VIEW) y volcando el listado
    'a un fichero temporal. El uso de FOR nos permite
    'obtener sólo los equipos, quitando lo que nos sobra de
    'la salida de NET VIEW
    str_Comando = obj_SH.ExpandEnvironmentStrings( _
                  "@for /f ""Tokens=1"" %c in ('@net view ^" & _
                  "|@Findstr /L /C:""\""') do (@echo %c>>""%" & _
                  "TEMP%NetView.txt"")")
    'Ejecutamos el comando    
    Call s_Cmd(str_Comando)
    
    'Creamos un obeto FileSystemObject
    Set obj_FS = CreateObject("Scripting.FileSystemObject")
    
    'Abrimos el fichero temporal como objeto TextStream
    Set obj_TS = obj_FS.OpenTextFile( _
                 obj_SH.ExpandEnvironmentStrings( _
                                   "%TEMP%NetView.txt"))
    
    'Volcamos el contenido del fichero en la variable str_Texto
    str_Texto = obj_TS.ReadAll
    
    'Cerramos el fichero temporal
    obj_TS.Close
    
    'Vaciamos el objeto TextStream
    Set obj_TS = Nothing
    
    'Borramos el fichero temporal
    obj_FS.DeleteFile(obj_SH.ExpandEnvironmentStrings( _
                                   "%TEMP%NetView.txt"))
    'Limpiadita de culete :-)
    Set obj_SH = Nothing
    Set obj_FS = Nothing
    
    'Como los nombres de los equipos están uno por línea,
    'cambiamos los saltos de línea por comas
    str_Texto = Replace(str_Texto,vbCrLf,",")
    
    'Como los nombres de los equipos empiezan por \, lo
    'quitamos
    str_Texto = Replace(str_Texto,"\","")
    
    'Cargamos el array con los equipos pasados
    arr_Equipos = Split(str_Texto,",")

End Sub 's_NetView

Sub s_Cmd(str_Comando)
'*****************Descripción********************************
'Esta rutina lanza el comando recibido como parámetro como
'si desde una ventana de comandos fuese lanzado
'*****************Fin de la descripción**********************

	Dim str_Shell  'Alberga la cadena que permite lanzar
	               'la ventana de comandos predeterminada
				   '(COMSPEC)
	Dim obj_Shell  'Contiene un objeto Shell
	
	'Creamos un objeto Shell
	Set obj_Shell = CreateObject ("Wscript.Shell")
	
	'Obtenemos la cadena que lanza la ventana de comandos 
	'predeterminada
	str_Shell = obj_Shell.Environment("Process").Item("COMSPEC")
	
	'Lanzamos el comando por medio de una llamada al método Run
	'del objeto Shell
	obj_Shell.Run str_Shell & " /c """ & str_Comando & """", 0,True
	
	'Limpiadita de popa :-)
	Set obj_Shell = Nothing
	
End Sub 's_Cmd

Sub s_Ayuda(str_Error)

    If Len(str_Error) > 0 Then
    
        WScript.Echo str_Error & _
                     vbCrLf & vbCrLf
                     
    End If

    WScript.Echo "version-iis.vbs"
    WScript.Echo ""
    WScript.Echo "Script VBScript que dice" & _
                 " la versión de IIS insta" & _
                 "lada en uno o más "
    WScript.Echo "equipos"
    WScript.Echo ""
    WScript.Echo "Sintaxis"
    WScript.Echo ""
    WScript.Echo "script [//nologo] versio" & _
                 "n-iis.vbs [/E:equipos] [" & _
                 "/U:usuario de conexion [" & _
                 "/C:contraseña]] [/N] [/F" & _
                 ":fichero] [/?]"
    WScript.Echo ""
    WScript.Echo "Siendo"
    WScript.Echo ""
    WScript.Echo "    - /E: opcional. List" & _
                 "a de equipos a los que s" & _
                 "e quiere revisar"
    WScript.Echo "                    la v" & _
                 "ersion de IIS. Esta list" & _
                 "a son los"
    WScript.Echo "                    nomb" & _
                 "res de los equipos separ" & _
                 "ados por comas."
    WScript.Echo "                    Si s" & _
                 "e omite este parámetro s" & _
                 "e revisará en el"
    WScript.Echo "                    equi" & _
                 "po local.Es requerido qu" & _
                 "e se pase /E o /N."
    WScript.Echo ""
    WScript.Echo "    - /N: opcional  Si s" & _
                 "e pasa este modificador," & _
                 " se ignora lo que"
    WScript.Echo "                    pudi" & _
                 "era recibir el parámetro" & _
                 " /E y se pasa a"
    WScript.Echo "                    revi" & _
                 "sar todos los equipo que" & _
                 " se obtiene al "
    WScript.Echo "                    ejec" & _
                 "utar el comando NET VIEW" & _
                 ". Es requerido que"
    WScript.Echo "                    se p" & _
                 "ase /E o /N."
    WScript.Echo ""
    WScript.Echo "    - /F: opcional  Ruta" & _
                 " más nombre del fichero " & _
                 "al que volcar los"
    WScript.Echo "                    resu" & _
                 "ltados obtenidos por el " & _
                 "script. En caso de"
    WScript.Echo "                    omit" & _
                 "irse, se mostrará por pa" & _
                 "ntalla. El fichero"
    WScript.Echo "                    resu" & _
                 "ltante es un fichero de " & _
                 "valores separados"
    WScript.Echo "                    por " & _
                 "tabulador, ideal para se" & _
                 "r abierto con Excel"
    WScript.Echo ""
    WScript.Echo "    - /U: opcional. Nomb" & _
                 "re del usuario que se ut" & _
                 "ilizará para conectar"
    WScript.Echo "                    con " & _
                 "el servicio WMI del equi" & _
                 "po. En caso de"
    WScript.Echo "                    omit" & _
                 "irse se utilizará el usu" & _
                 "ario que lanza el"
    WScript.Echo "                    scri" & _
                 "pt."
    WScript.Echo ""
    WScript.Echo "    - /C: opcional. Cuan" & _
                 "do está establecido el p" & _
                 "arámetro U, este"
    WScript.Echo "                    pará" & _
                 "metro nos permite especi" & _
                 "ficar la contraseña"
    WScript.Echo "                    del " & _
                 "usuario que conectará co" & _
                 "n el servicio WMI."
    WScript.Echo "                    Si n" & _
                 "o está especificado el p" & _
                 "arámetro U se"
    WScript.Echo "                    igno" & _
                 "rará. Si está establecid" & _
                 "o el parámetro U"
    WScript.Echo "                    y es" & _
                 "te parámetro es omitido," & _
                 " el script presentará"
    WScript.Echo "                    una " & _
                 "ventana de Internet Expl" & _
                 "orer donde entrar la"
    WScript.Echo "                    cont" & _
                 "raseña. Es recomendable " & _
                 "no usar este parámetro,"
    WScript.Echo "                    pues" & _
                 " implica que se teclea l" & _
                 "a contraseña y alguien"
    WScript.Echo "                    pued" & _
                 "e verla; como el usuario" & _
                 " debe tener derechos"
    WScript.Echo "                    admi" & _
                 "nistrativos, es peligros" & _
                 "o que tengamos la"
    WScript.Echo "                    la c" & _
                 "ontraseña expuesta. Al u" & _
                 "sar una ventana de IE"
    WScript.Echo "                    para" & _
                 " teclear la contraseña, " & _
                 "esto se realiza en"
    WScript.Echo "                    una " & _
                 "caja de texto de tipo pa" & _
                 "ssword, quedando"
    WScript.Echo "                    enma" & _
                 "scarada, protegida de oj" & _
                 "os indiscretos."
    WScript.Echo ""
    WScript.Echo "    - /?: opcional. Mues" & _
                 "tra la ayuda en línea."
    WScript.Echo ""
    WScript.Echo "Nota: en el equipo local" & _
                 " no se puede conectar a " & _
                 "WMI con credenciales"
    WScript.Echo "       alternativas. Si " & _
                 "el usuario que está lanz" & _
                 "ando el script no"
    WScript.Echo "       tiene privilegios" & _
                 " suficientes para poder " & _
                 "ejecutarlo, se debe"
    WScript.Echo "       usar RunAs. Con e" & _
                 "quipos remotos no hay pr" & _
                 "oblema en usar"
    WScript.Echo "       credenciales alte" & _
                 "rnativas"
    WScript.Echo ""
    WScript.Echo "Ejemplos:"
    WScript.Echo ""
    WScript.Echo "- Revisamos el equipo lo" & _
                 "cal"
    WScript.Echo ""
    WScript.Echo "cscript //nologo version" & _
                 "-iis.vbs"
    WScript.Echo ""
    WScript.Echo "- Revisamos los equipos " & _
                 "snaug, grima y saruman"
    WScript.Echo ""
    WScript.Echo "cscrip //nologo version-" & _
                 "iis.vbs /E:snaug,grima,s" & _
                 "aruman"
    WScript.Echo ""
    WScript.Echo "- Revisamos los equipos " & _
                 "snaug, grima y saruman u" & _
                 "tilizando las"
    WScript.Echo "  credenciales del usuar" & _
                 "io mordorreybrujo y sum" & _
                 "inistrando su"
    WScript.Echo "  contraseña"
    WScript.Echo ""
    WScript.Echo "cscript version-iis.vbs " & _
                 "/E:snaug,grima,saruman /" & _
                 "U:mordorreybrujo /C:""s" & _
                 "oy malisimo"""
    WScript.Echo ""
    WScript.Echo "- Revisamos los equipos " & _
                 "de la red utilizando las"
    WScript.Echo "  credenciales del usuar" & _
                 "io mordorreybrujo y sum" & _
                 "inistrando su"
    WScript.Echo "  contraseña; el resulta" & _
                 "do se volcará en el fich" & _
                 "ero"
    WScript.Echo "  c:listados de redmor" & _
                 "dor.txt"
    WScript.Echo ""
    WScript.Echo "cscript version-iis.vbs " & _
                 "/N /U:mordorreybrujo /C" & _
                 ":""soy malisimo"" /f:""c" & _
                 ":listados de redmordor" & _
                 ".txt"""


End Sub

 

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: