Hola a todos :-)
Acabo de terminar de hacer un pequeño Script VBS que sirve para desactivar y mantener desactivado el componente DCOM/RPC (que RPCSS.EXE no este activo aceptando conexiones remotas de Internet, vaya) en Windows 95, 98 o ME.
El Script se ejecutaria en cada arranque del ordenador y comprobaria si este componente esta desactivado. Si esta activado, mostraria un mensaje dando opcion a desactivarlo.
En mi equipo parece ejecutar correctamente, pero dado que lo estoy haciendo para que funcione en el ordenador de una amiga (que no sabe ni quiere saber de esto, y que tampoco tiene un firewall, de ahi que yo prefiera que este componente este desactivado), me gustaria que quienes pudierais le echarais un vistazo, por si veis alguna forma de mejorarlo o veis algun error que haya cometido yo.
El Script es el siguiente:
Set WshShell = WScript.CreateObject("Wscript.Shell")
strDCOMLocal = "N"
strDCOMRemote = "N"
On Error Resume Next
strDCOMLocal = WshShell.RegRead("HKLM\Software\Microsoft\OLE\EnableDCOM")
strDCOMRemote = WshShell.RegRead("HKLM\Software\Microsoft\OLE\EnableRemoteConnect")
On Error Goto 0
if ((strDCOMLocal = "Y") or (strDCOMRemote = "Y")) then
intButton = WshShell.Popup("El servicio DCOM sobre RPC está activado y/o admitiendo conexiones remotas desde otros equipos de Internet." & vbCR & vbCR & "Se recomienda que detenga el servicio inmediatamente, salvo que sepa que lo requerirá algún programa durante esta sesión." & vbCR & vbCR & "¿Desea detener este servicio ahora (Requiere reiniciar Windows)?", 60, "Servicio DCOM/RPC activo", 52)
if intButton = 6 then
On Error Goto 0
WshShell.RegWrite "HKLM\Software\Microsoft\OLE\EnableDCOM", "N"
WshShell.RegWrite "HKLM\Software\Microsoft\OLE\EnableRemoteConnect", "N"
WshShell.Run "RUNDLL32.EXE shell32.dll,SHExitWindowsEx 2"
end if
if intButton = -1 then
On Error Goto 0
WshShell.RegWrite "HKLM\Software\Microsoft\OLE\EnableDCOM", "N"
WshShell.RegWrite "HKLM\Software\Microsoft\OLE\EnableRemoteConnect", "N"
WshShell.Run "RUNDLL32.EXE shell32.dll,SHExitWindowsEx 2"
end if
end if
Si alguien ve que el programa es correcto y quiere utilizarlo en su propio equipo, tambien hay un instalador y desinstalador automatico:
http://www.miguelms.com/dcomchk.exe
Muchas gracias y un saludo. Miguel.
Leer las respuestas