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 Borrar Orígenes De Eventos

Posted by urpiano en Viernes 15 \15\UTC junio \15\UTC 2007

Script que permite borrar los orígenes de eventos de uno o más equipos.

Sintaxis

cscript [//nologo] borrar-origenes-de-eventos.vbs [/E:equipos] [/U:usuario] [C:contraseña]] [/O:origenes] [/T] [/?

Siendo

Parámetro ¿Requerido? Descripción
/E No
Lista de equipos a los que se quiere borrar los origenes de eventos. Esta lista son los nombres de los equipos separados por comas. Si se omite este parámetro se borrarán en el equipo local
/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.
/T No
Se borrarán todos los origenes de eventos
/O No Se borrará la lista de orígenes pasada con este parámetro. La lista es de sus nombres separados por comas. Por ejemplo "System,Application". Si no se ha especificado el modificador /T, este parámetro es requerido
/? No
Muestra la ayuda en línea.

Ejemplos:

– Borramos System en el equipo local

cscript //nologo borrar-origenes-de-eventos.vbs /o:system

– Borramos System y Application en los los equipos snaug, grima y saruman

cscrip //nologo borrar-origenes-de-eventos.vbs /E:snaug,grima,saruman /o:System,Application

– Borramos Security en los equipos snaug, grima y saruman utilizando las credenciales del usuario mordorreybrujo y suministrando su contraseña

cscript borrar-origenes-de-eventos.vbs /E:snaug,grima,saruman /o:Security /U:mordorreybrujo /C:"soy malisimo"

– Borramos todos los origenes de los los equipos snaug, grima y saruman utilizando las credenciales del usuario mordorreybrujo, suministrando su contraseña

cscript borrar-origenes-de-eventos.vbs /E:snaug,grima,saruman /U:mordorreybrujo /C:"soy malisimo" /T

Este es el código del script

'borrar-origenes-de-eventos.vbs
'
'Script que permite borrar los orígenes de eventos
'de uno o más equipos.
'
'Sintaxis
'
'cscript [//nologo] borrar-origenes-de-eventos.vbs
' [/O:lista de origenes] [/T] [/E:lista de equipos]
' [/U:usuario [/C:contraseña] [/?]
'
'Siendo
'
'    - /E: opcional. Lista de equipos a los que se quiere borrar
'                    los origenes de eventos. Esta lista son los
'                    nombres de los equipos separados por comas.
'                    Si se omite este parámetro se borrarán en el
'                    equipo local.
'
'    - /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.
'
'    - /T: opcional. Se borrarán todos los origenes de eventos.
'
'    - /O: opcional. Se borrará la lista de orígenes pasada con este
'                    parámetro. La lista es de sus nombres separados
'                    por comas. Por ejemplo "System,Application". Si
'                    no se ha especificado el modificador /T, este
'                    parámetro es requerido.
'
'    - /?: 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 remots no hay problema en usar
'       credenciales alternativas
'
'Ejemplos:
'
'- Borramos System en el equipo local
'
'cscript //nologo borrar-origenes-de-eventos.vbs /o:system
'
'- Borramos System y Application en los los equipos snaug, grima
'y saruman
'
'cscrip //nologo borrar-origenes-de-eventos.vbs /E:snaug,grima,saruman
'   /o:System,Application
'
'- Borramos Security en los equipos snaug, grima y saruman utilizando las
'  credenciales del usuario mordorreybrujo y suministrando su
'  contraseña
'
'cscript borrar-origenes-de-eventos.vbs /E:snaug,grima,saruman
'   /o:Security /U:mordorreybrujo /C:"soy malisimo"
'
'- Borramos todos los origenes de los los equipos snaug, grima
'  y saruman utilizando las credenciales del usuario mordorreybrujo,
'  suministrando su contraseña
'
'cscript borrar-origenes-de-eventos.vbs /E:snaug,grima,saruman
'      /U:mordorreybrujo /C:"soy malisimo" /T
'
'
'© Fernando Reyes - Junio de 2007
'
'


Option Explicit

Dim str_Usuario, str_Clave
Dim arr_Equipos, arr_Origen, int_Equipo

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

    Call s_Ayuda("************************" & _
                 "*        Ayuda         *" & _
                 "************************")
    WScript.Quit  

End If

'Si no se ha recibido el parámetro con los nombres de
'orígenes de eventos
If Not WScript.Arguments.Named.Exists("O") _
And Not WScript.Arguments.Named.Exists("T") Then


    Call s_Ayuda("Error 1: el parámetro /O, " & _
                 "lista de orígenes de event" & _
                 "os, es un parámetro requer" & _
                 "ido cuando no se ha establ" & _
                 "ecido el modificador /T (T" & _
                 "odos los orígenes de eventos")
                 
    WScript.Quit 1
    
'Si no se ha especificado el modificador T, ponemos
'ponemos la lista de origenes en el array de origenes
ElseIf Not WScript.Arguments.Named.Exists("T") Then
    
    arr_Origen = Split(WScript.Arguments.Named("O"),",")
    
End If

'Si se ha pasado una lista de equipos, la guardamos
'en la variable arr_Equipos como array
If 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

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

    Call s_ProcesarEquipo(arr_Equipos(int_Equipo),arr_Origen)

Next 'int_Equipo

Sub s_ProcesarEquipo(str_Equipo,arr_Origen)

    Dim str_Origen,col_FicherosDeEventos
    Dim obj_FicheroDeEventos,obj_ServicioWMI
    Dim str_Origenes, lng_Devolucion
    
    Const vbTextCompare = 1
    
    'Llamamos a la función que nos permite cargar el objeto
    'SWbemLocator. Si la función devuelve False es que no se
    'ha podido crear
    If Not f_ServicioWMI(obj_ServicioWMI, _
                     str_Usuario, _
                     str_Clave, _
                     str_Equipo, _
                     "") Then

        'Lanzamos el mensaje de que ha habido un error en la conexión
        'al servicio WMI
        Wscript.Echo "Error: error al conectar con el servicio" & _
                     " WMI en el equipo " & str_Equipo

        Exit Sub

    End If
    
    'Obtenemos los posibles origenes de eventos del equipo
    str_Origenes = f_OrigenesDeEventos(obj_ServicioWMI)
    
    'Si se ha recibido el modificador /T, cargamos el array
    'de orígenes con todos los del equipo
    If WScript.Arguments.Named.Exists("T") Then
    
        arr_Origen = Split(str_Origenes,",")
    
    End If

    'Recorremos cada uno de los orígenes de eventos recibidos
    For Each str_Origen In arr_Origen
    
        'Si existe el origen de eventos especificado
        If InStr(1,str_Origenes,str_Origen,vbTextCompare) > 0 Then
        
            'Creamos un objeto con el fichero de eventos
            Set col_FicherosDeEventos = obj_ServicioWMI.ExecQuery _
            ("Select * from Win32_NTEventLogFile Where LogfileName" & _
              " = '" & str_Origen & "'")
        
            'Recorremos la colección de orígenes de eventos (solo
            'hay uno)
            For Each obj_FicheroDeEventos In col_FicherosDeEventos
        
                'Borramos el fichero de eventos
                lng_Devolucion = obj_FicheroDeEventos.ClearEventlog
                
            Next 'obj_FicheroDeEventos
        
            'Culete aseado :-)
            Set obj_FicheroDeEventos = Nothing
            Set col_FicherosDeEventos = Nothing
            
            WScript.Echo str_Equipo & ": borrado el origen " & _
                         "de eventos " & str_Origen
            
        'si no existe lo indicamos
        Else
        
             WScript.Echo str_Equipo & ": no existe el origen " & _
                         "de eventos " & str_Origen
                         
        End If
        
    Next 'str_Origen
    
    'Más limpiadita de popa :-)
    Set obj_ServicioWMI = Nothing

End Sub 's_ProcesarEquipo

Function f_OrigenesDeEventos(obj_ServicioWMI)
'Esta función recibe un objeto servicio WMI
'y devuelve los nombres, separados por comas,
'de los orígenes de eventos que
'tiene el equipo del servicio al que conecta
'el objeto recibido

    Dim col_FicherosDeEventos
    Dim str_Devolucion
    Dim obj_FicheroDeEventos

    'Creamos un objeto con los ficheros de eventos
    Set col_FicherosDeEventos = obj_ServicioWMI.ExecQuery _
    ("Select * from Win32_NTEventLogFile")
    
    'Recorremos los ficheros de eventos
    For Each obj_FicheroDeEventos In col_FicherosDeEventos
    
        'concatenamos el nombre actual a los anteriores
        str_Devolucion = str_Devolucion & _
               obj_FicheroDeEventos.LogfileName & ","
    
    Next 'obj_FicheroDeEventos

    'Limpiadita de retaguardia :-)
    Set obj_FicheroDeEventos = Nothing
    Set col_FicherosDeEventos = Nothing
    
    'Quitamos la coma final
    str_Devolucion = Left(str_Devolucion,Len(str_Devolucion)-1)
    
    'Devolvemos los orígenes de eventos
    f_OrigenesDeEventos = str_Devolucion
    
End Function 'f_OrigenesDeEventos

Function f_ServicioWMI(obj_ServicioWMI, str_Usuario, _
                       str_Clave, str_Equipo, _
                       str_Espacio)
'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.

    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)

    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)
'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>
'*******************************************************************

    '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_Ayuda(str_Error)

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

    WScript.Echo "borrar-origenes-de-eve" & _
                 "ntos.vbs"
    WScript.Echo ""
    WScript.Echo "Script que permite bor" & _
                 "rar los orígenes de ev" & _
                 "entos"
    WScript.Echo "de uno o más equipos."
    WScript.Echo ""
    WScript.Echo "Sintaxis"
    WScript.Echo ""
    WScript.Echo "cscript [//nologo] bor" & _
                 "rar-origenes-de-evento" & _
                 "s.vbs"
    WScript.Echo " [/O:lista de origenes" & _
                 "] [/T] [/E:lista de eq" & _
                 "uipos]"
    WScript.Echo " [/U:usuario [/C:contr" & _
                 "aseña] [/?]"
    WScript.Echo ""
    WScript.Echo "Siendo"
    WScript.Echo ""
    WScript.Echo "    - /E: opcional. Li" & _
                 "sta de equipos a los q" & _
                 "ue se quiere borrar"
    WScript.Echo "                    lo" & _
                 "s origenes de eventos." & _
                 " Esta lista son los"
    WScript.Echo "                    no" & _
                 "mbres de los equipos s" & _
                 "eparados por comas."
    WScript.Echo "                    Si" & _
                 " se omite este parámet" & _
                 "ro se borrarán en el"
    WScript.Echo "                    eq" & _
                 "uipo local."
    WScript.Echo ""
    WScript.Echo "    - /U: opcional. No" & _
                 "mbre del usuario que s" & _
                 "e utilizará para conec" & _
                 "tar"
    WScript.Echo "                    co" & _
                 "n el servicio WMI del " & _
                 "equipo. En caso de"
    WScript.Echo "                    om" & _
                 "itirse se utilizará el" & _
                 " usuario que lanza el"
    WScript.Echo "                    sc" & _
                 "ript."
    WScript.Echo ""
    WScript.Echo "    - /C: opcional. Cu" & _
                 "ando está establecido " & _
                 "el parámetro U, este"
    WScript.Echo "                    pa" & _
                 "rámetro nos permite es" & _
                 "pecificar la contraseña"
    WScript.Echo "                    de" & _
                 "l usuario que conectar" & _
                 "á con el servicio WMI."
    WScript.Echo "                    Si" & _
                 " no está especificado " & _
                 "el parámetro U se"
    WScript.Echo "                    ig" & _
                 "norará. Si está establ" & _
                 "ecido el parámetro U"
    WScript.Echo "                    y " & _
                 "este parámetro es omit" & _
                 "ido, el script present" & _
                 "ará"
    WScript.Echo "                    un" & _
                 "a ventana de Internet " & _
                 "Explorer donde entrar " & _
                 "la"
    WScript.Echo "                    co" & _
                 "ntraseña. Es recomenda" & _
                 "ble no usar este parám" & _
                 "etro,"
    WScript.Echo "                    pu" & _
                 "es implica que se tecl" & _
                 "ea la contraseña y alg" & _
                 "uien"
    WScript.Echo "                    pu" & _
                 "ede verla; como el usu" & _
                 "ario debe tener derech" & _
                 "os"
    WScript.Echo "                    ad" & _
                 "ministrativos, es peli" & _
                 "groso que tengamos la"
    WScript.Echo "                    la" & _
                 " contraseña expuesta. " & _
                 "Al usar una ventana de" & _
                 " IE"
    WScript.Echo "                    pa" & _
                 "ra teclear la contrase" & _
                 "ña, esto se realiza en"
    WScript.Echo "                    un" & _
                 "a caja de texto de tip" & _
                 "o password, quedando"
    WScript.Echo "                    en" & _
                 "mascarada, protegida d" & _
                 "e ojos indiscretos."
    WScript.Echo ""
    WScript.Echo "    - /T: opcional. Se" & _
                 " borrarán todos los or" & _
                 "igenes de eventos."
    WScript.Echo ""
    WScript.Echo "    - /O: opcional. Se" & _
                 " borrará la lista de o" & _
                 "rígenes pasada con est" & _
                 "e"
    WScript.Echo "                    pa" & _
                 "rámetro. La lista es d" & _
                 "e sus nombres separado" & _
                 "s"
    WScript.Echo "                    po" & _
                 "r comas. Por ejemplo " & _
                 """System,Application"". Si"
    WScript.Echo "                    no" & _
                 " se ha especificado el" & _
                 " modificador /T, este"
    WScript.Echo "                    pa" & _
                 "rámetro es requerido."
    WScript.Echo ""
    WScript.Echo "    - /?: opcional. Mu" & _
                 "estra la ayuda en líne" & _
                 "a."
    WScript.Echo ""
    WScript.Echo "Nota: en el equipo loc" & _
                 "al no se puede conecta" & _
                 "r a WMI con credencial" & _
                 "es"
    WScript.Echo "       alternativas. S" & _
                 "i el usuario que está " & _
                 "lanzando el script no"
    WScript.Echo "       tiene privilegi" & _
                 "os suficientes para po" & _
                 "der ejecutarlo, se deb" & _
                 "e"
    WScript.Echo "       usar RunAs. Con" & _
                 " equipos remots no hay" & _
                 " problema en usar"
    WScript.Echo "       credenciales al" & _
                 "ternativas"
    WScript.Echo ""
    WScript.Echo "Ejemplos:"
    WScript.Echo ""
    WScript.Echo "- Borramos System en e" & _
                 "l equipo local"
    WScript.Echo ""
    WScript.Echo "cscript //nologo borra" & _
                 "r-origenes-de-eventos." & _
                 "vbs /o:system"
    WScript.Echo ""
    WScript.Echo "- Borramos System y Ap" & _
                 "plication en los los e" & _
                 "quipos snaug, grima"
    WScript.Echo "y saruman"
    WScript.Echo ""
    WScript.Echo "cscrip //nologo borrar" & _
                 "-origenes-de-eventos.v" & _
                 "bs /E:snaug,grima,saru" & _
                 "man /o:System,Applica" & _
                 "tion"
    WScript.Echo ""
    WScript.Echo "- Borramos Security en" & _
                 " los equipos snaug, gr" & _
                 "ima y saruman utilizan" & _
                 "do las"
    WScript.Echo "  credenciales del usu" & _
                 "ario mordorreybrujo y" & _
                 " suministrando su"
    WScript.Echo "  contraseña"
    WScript.Echo ""
    WScript.Echo "cscript borrar-origene" & _
                 "s-de-eventos.vbs /E:sn" & _
                 "aug,grima,saruman /o:S" & _
                 "ecurity /U:mordorreyb" & _
                 "rujo /C:""soy malisimo"""
    WScript.Echo ""
    WScript.Echo "- Borramos todos los o" & _
                 "rigenes de los los equ" & _
                 "ipos snaug, grima"
    WScript.Echo "  y saruman utilizando" & _
                 " las credenciales del " & _
                 "usuario mordorreybruj" & _
                 "o,"
    WScript.Echo "  suministrando su con" & _
                 "traseña"
    WScript.Echo ""
    WScript.Echo "cscript borrar-origene" & _
                 "s-de-eventos.vbs /E:sn" & _
                 "aug,grima,saruman /U:m" & _
                 "ordorreybrujo /C:""so" & _
                 "y malisimo""" & _
                 " /T"


End Sub

 

 

Una respuesta to “Script VBScript Para Borrar Orígenes De Eventos”

  1. Luis León H. said

    Buenos días, estoy intentando ejecutar el script en windows 2003 server y recibo el error:
    borrar-origenes-de-eventos.vbs(364, 9): 0x8004100E
    y no tengo le menos idea de que hay que hace, me puede ayudar por favor.

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: