Borra todas la carpetas compartidas con un script vbs

Este pequeño script vbs sirve para eliminar todo tipo de recursos compartidos en equipo que lo ejecute excepto los directorios compartidos para administrar el equipo IPC$, ADMIN$ y C$.

El script consulta WMI para nuestras acciones, y mirando el tipo se puede decir si son recursos compartidos administrativos - Las comparticiones del tipo cero nunca serán las administrativas.

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
'Selecciona la lista de comparticiones del sistema

Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")
'Se mueve a través de la lista de comparticiones y las elimina
' Pero chequea el tipo para permitir las comparticiones administrativas

For each objShare in colShares
 if (objShare.Type=0) then
  WScript.Echo "Deleting Share (" & objShare.Name & ")"
  if objshare.delete then
   WScript.echo "Error Deleting Share"
  end if
 end if
Next 

Para probar antes de ejecutarlo podemos listar antes:

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")

For each objShare in colShares
 if (objShare.Type=0) then
  WScript.Echo "Share: (" & objShare.Name & ")"
 end if
Next 

Esto unido a un script de inicio de sesion puede hacer limpieza de shares en nuestra red. En Windows 7 o Vista ha de ser ejecutado como administrador por eso ha de ser puesto en el logon script del equipo, no del usuario.

Te recomiendo que hagas muchos test con el último script antes de ejecutar la opción de borrar del primero.

Un comentario en “Borra todas la carpetas compartidas con un script vbs

Los comentarios están cerrados.