Scripts VBScript para Windows: registro, red, archivos y unidades de disco

Informática y Telecomunicaciones3,41 KB

Scripts VBScript para la administración de Windows

A continuación se presentan varios ejemplos de scripts en VBScript para tareas habituales de administración en sistemas Windows: escritura en el registro, mapeo de unidades de red, gestión de archivos, edición del archivo hosts y detección de unidades.

1) Crear una entrada en el registro de Windows

Dim oReg, oRuta
oRuta = ""
Set oReg = CreateObject("WScript.Shell")
nombre = "nombreDeLaEntrada"
oReg.RegWrite "NombreDeLaEntrada", oRuta, "REG_DWORD"

2) Mapear una carpeta compartida y ejecutar un programa

Se mapea la carpeta VIRUS compartida en el equipo 192.168.1.1 como unidad de red P: y, a continuación, se ejecuta el programa desinfeccion.exe. Si se produce algún error, el script continuará su ejecución hasta el final.

Dim oNet, oShell
On Error Resume Next
Set oNet = CreateObject("WScript.Network")
oNet.MapNetworkDrive "P:", "\\192.168.1.1\Virus", True
Set oShell = CreateObject("WScript.Shell")
oShell.Run "P:\desinfeccion.exe"

3) Eliminar un fichero indicado por teclado

El script solicita mediante una ventana de texto el nombre de un fichero y, si existe, lo borra.

Dim oFSO, nombreFichero
Set oFSO = CreateObject("Scripting.FileSystemObject")
nombreFichero = InputBox("Nombre de fichero a borrar", "Borrar")
If oFSO.FileExists(nombreFichero) Then
    oFSO.DeleteFile nombreFichero
    WScript.Echo "Fichero " & nombreFichero & " borrado"
Else
    WScript.Echo "No existe el fichero " & nombreFichero
End If

4) Añadir líneas al archivo hosts

Este script añade dos líneas con el valor "Oihan" al fichero C:\Windows\System32\drivers\etc\hosts.

Dim oFSO, oNet, fichero, archivo
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oNet = CreateObject("WScript.Network")
fichero = "C:\Windows\System32\drivers\etc\hosts"
If Not oFSO.FileExists(fichero) Then
    Set archivo = oFSO.CreateTextFile(fichero)
    archivo.Close
End If
Set archivo = oFSO.OpenTextFile(fichero, 8)
archivo.WriteLine "Oihan"
archivo.WriteLine "Oihan"
archivo.Close

5) Mostrar las unidades de red mapeadas

El script recorre las unidades de red asignadas al equipo y muestra su letra y su ruta.

Dim oNet, unidadesRed, i
Set oNet = CreateObject("WScript.Network")
Set unidadesRed = oNet.EnumNetworkDrives
If unidadesRed.Count = 0 Then
    WScript.Echo "No hay unidades de red mapeadas"
Else
    For i = 0 To unidadesRed.Count - 1 Step 2
        WScript.Echo "Unidad: " & unidadesRed.Item(i) & " " & "Ruta: " & unidadesRed.Item(i + 1)
    Next
End If

6) Detectar unidades de disco extraíbles

Este script muestra en pantalla un mensaje indicando si existen o no unidades de disco extraíbles en el equipo. Se considera unidad extraíble aquella cuyo DriveType es igual a 1.

Dim oFSO, unidadesPC, unidad, existen
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set unidadesPC = oFSO.Drives
existen = 0
For Each unidad In unidadesPC
    If unidad.DriveType = 1 Then
        existen = 1
    End If
Next
If existen = 1 Then
    WScript.Echo "Existen unidades de disco extraíbles"
Else
    WScript.Echo "No existen unidades de disco extraíbles"
End If

Descargar

PDF Word HTML