Bueno, hace un tiempo y tras una consulta en el sub de seguridad se me ocurrió crear un pequeño script para consultar de manera automática sobre el origen de determinados archivos/librerías, para lo cual hacía uso de la web :http://www.fileinspect.com/, la cual esta en beta para ya muestra tener una buena bbdd
El caso es que en ese momento el script fue resultado de algunos minutos de aburrimiento, pero luego de analizarlo un poco más detenidamente me pareció que me podía resultar útil, así que lo he ido modificando en mi beneficio y lo comparto a continuación
Código
'by Novlucker Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP") Set objfso = Createobject("Scripting.filesystemobject") If wscript.arguments.count <> 2 then Ayuda() End if Format = Ucase(wscript.arguments(0)) Select case Format case "/F" Set FromFolder = objfso.getfolder(wscript.arguments(1)) Set FileList = FromFolder.files If FileList.count = 0 then Msgbox "La carpeta seleccionada no contiene ningún archivo", 64, "Informe" wscript.quit End if case "/A" If objfso.fileexists(wscript.arguments(1)) then Set FromFile = objfso.opentextfile(wscript.arguments(1),1) FileList = Split(FromFile.readall,vbnewline) FromFile.close Else Msgbox "El archivo seleccionado no existe", 16, "Informe" wscript.quit End if case "/L" FileList = Split(wscript.arguments(1),",") case "/P" Set Taskmgr = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process") Dim Taskname(): Redim Preserve Taskname(Taskmgr.count-1) For Each T in Taskmgr Taskname(n) = T.name n = n+1 Next FileList = FilterAray(Taskname) case else Ayuda() End Select For Each F in FileList If Format = "/F" then URLF = "http://www.fileinspect.com/fileinfo/" & LCase(Replace(F.name,".","-")) F = F.name Else URLF = "http://www.fileinspect.com/fileinfo/" & LCase(Replace(F,".","-")) End if objxmlHTTP.open "GET", URLF, 0 objxmlHTTP.send() Do while objxmlHTTP.readystate <> 4 wscript.sleep 200 Loop response = objxmlHTTP.responsetext blogcopy = instr(1,response,"id=""blog-copy-text""",1) If blogcopy > 0 then Startd = instr(blogcopy, response,">",1)+1 Endd = instr(Startd, response,"<",1) Definition = mid(Response,Startd,Endd-Startd) Definition = replace(Definition,"<", "<") Definition = replace(Definition,">", ">") Definition = replace(Definition,""", """") wscript.echo Definition Else wscript.echo "</p><table cellpadding=""0"" cellspacing=""0"" width=""100%"" bgcolor=#737CA1><tr><td><a style=""color:#000000;font-size:15px;color=white;text-decoration:none;font-family:Arial;border:0px;""<b>" & F & ": Archivo desconocido</b></a></td></tr></table>" End if Next Function FilterAray(Aray) dim auxAray() For Each A in Aray Match = False On error resume next Newlength = ubound(auxAray) + 1 If err.number > 0 then Redim Preserve auxAray(0) auxAray(0) = A err.clear On error goto 0 End if For Each E in auxAray If A = E then Match = True Exit For End if Next If Match = False then Redim Preserve auxAray(Newlength) auxAray(Newlength) = A End if Next FilterAray = auxAray End Function Sub ayuda() wscript.echo vbnewline & "Uso: cscript.exe/nologo " & wscript.scriptname & " [formato] [parametro]" & vbnewline & _ vbnewline & chr(9) & "Formato" & chr(9) & "Parametro" & vbnewline & chr(9) & "/F" & chr(9) & "Ruta Carpeta" & vbnewline & _ chr(9) & "/A" & chr(9) & "Ruta Archivo (Conteniendo listado)" & vbnewline & chr(9) & "/L" & chr(9) & "Lista de archivos separados por coma" & vbnewline & _ chr(9) & "/P" & chr(9) & "Análisis de procesos en ejecución (Cualquier valor)" & vbnewline & vbnewline & "Ejemplos:" & vbnewline & chr(9) & "cscript.exe/nologo " & _ wscript.scriptname & " /F" & " C:\WINDOWS" & vbnewline & chr(9) & "cscript.exe/nologo " & wscript.scriptname & " /A" & _ " C:\Archivos.txt" & vbnewline & chr(9) & "cscript.exe/nologo " & wscript.scriptname & " /L" & " ""mstsc.exe,syskey.exe,appmgr.dll""" & _ vbnewline & chr(9) & "cscript.exe/nologo " & wscript.scriptname & " /P -" wscript.quit End Sub
El script debe de lanzarse desde línea de comandos pasando los parámetros correspondientes, los cuales pueden verse en la ayuda (tanto desde ms-dos como con doble click)
Ej:
Código
C:\Documents and Settings\Novlucker\Escritorio>cscript//nologo "filnspect.vbs" > Reporte.html
Como se ve además hay que redireccionar la salida (>) a un archivo de extensión html
Así se ve el resultado:
Saludos
Post original: Error de permisos al modificar msconfig
Edito:La web bajo la cual se realizaban las consultas, ha cambiado MUCHO la manera en la que se visualizan los archivos, por lo que ha dejado de ser funcional