Así que, en 2024, Microsoft empezó a presionar para que VBScript dejara de ser un lenguaje de scripting obsoleto. Ese antiguo lenguaje de scripting que solía estar en todas partes para la automatización, especialmente en configuraciones empresariales, parece estar en la lista de eliminación.¿Lo raro? Todavía persiste en Windows 11 25H2 de forma predeterminada, pero muy pronto estará completamente deshabilitado o desaparecerá por completo. Esto puede causar cierta confusión, especialmente si estás ejecutando scripts o dependiendo de la automatización heredada que está vinculada a archivos.vbs. Porque, por supuesto, Windows tiene que aumentar la incomodidad: si faltan tus cosas de VBScript, ejecutar scripts como slmgr.vbspuede darte errores diciendo que no hay ninguna aplicación asociada. Es un poco raro, pero podrías obtener errores como «No hay ningún motor de script para la extensión de archivo ‘.vbs'», lo que básicamente significa que Windows ya no está configurado para ejecutarlos. Es por eso que entender cómo manejar VBScript en el entorno actual de Windows es útil, especialmente si estás tratando de solucionar problemas o migrar a opciones de scripting más nuevas.
Cómo solucionar el problema de que VBScript no se ejecuta o se elimina en Windows 11
Método 1: reinstalar o habilitar VBScript si falta
En ocasiones, Windows puede haber deshabilitado o eliminado la función VBScript, especialmente después de actualizaciones o al desactivar funciones. Esto puede provocar que los scripts no se ejecuten o que los archivos con la extensión.vbs pierdan su controlador asociado. Volver a agregar VBScript no es tan sencillo, ya que ahora es una función opcional o una capacidad que debe agregarse manualmente. Esto es útil si se ven errores como vbs: No application is associated with the specified file for this operation.
- Abra PowerShell como administrador.
- Para comprobar si la capacidad de VBScript todavía está disponible, ejecute:
Get-WindowsCapability -Online -Name vbs* - Si aparece como eliminado o no instalado, ejecute:
Add-WindowsCapability -Online -Name "VBScript~~~~0.0.1.0" - O puedes usar DISM directamente:
DISM /Online /Add-Capability /CapabilityName:VBScript - Tras reiniciar, intenta ejecutar el script de nuevo. Si Windows no tenía esta función, esto debería restaurarla, al menos temporalmente.
Esto es una especie de último recurso en las versiones más recientes de Windows, pero a veces funciona. En algunas configuraciones, resulta extraño que Microsoft lo haya hecho opcional, así que no te sorprendas si falla; reiniciar o volver a ejecutar el comando podría ayudar.
Método 2: Prevenir errores asociando archivos VBS manualmente
Si VBScript está habilitado, pero los scripts siguen sin ejecutarse, es posible que Windows haya perdido la asociación de archivos. Este es un problema común al activar o desactivar funciones o después de actualizaciones. Para solucionarlo, puede intentar reasociar manualmente la extensión «.vbs» con Windows Script Host. Esto ayuda a evitar errores como There is no script engine for file extension ".vbs".
- Abra PowerShell como administrador.
- Ejecute este comando para establecer la asociación:
assoc.vbs=VBSFile - Asegúrese de que el programa predeterminado para archivos VBS esté configurado en Windows Script Host. Puede hacerlo desde la aplicación Configuración: Configuración > Aplicaciones > Aplicaciones predeterminadas > Seleccionar aplicaciones predeterminadas por tipo de archivo.
- Localice la extensión.vbs y asígnela a Windows Script Host si aún no está.
A veces, simplemente volver a vincular la asociación corrige errores al intentar ejecutar scripts desde la línea de comando o al hacer doble clic en los archivos.
Método 3: Utilice Sysmon para supervisar el uso de VBScript
Otro truco ingenioso si trabajas en una empresa o simplemente sientes curiosidad por la actividad de VBScript: instala Sysmon desde Sysinternals. No se trata de reparar VBScript, sino de supervisar su uso, especialmente si quieres ver si se utilizan scripts maliciosos o simplemente estar al tanto de lo que ocurre entre bastidores.
- Descargar Sysmon.
- Cree un archivo XML de configuración (como sysmon_config.xml) para rastrear la carga
vbscript.dllu otra actividad sospechosa. - Instalar Sysmon con:
Sysmon64.exe -i sysmon_config.xml - O bien, actualice la configuración con:
Sysmon64.exe -c sysmon_config.xml
Ahora, cada vez que se invoca VBScript, verá el ID de evento 7 (imagen cargada) en el Visor de eventos, lo que puede ayudar a vigilar la actividad del script, especialmente útil si está tratando de detectar scripts falsos o confirmar un uso legítimo.
Al final, todo este revuelo en torno a VBScript da la impresión de ser una mezcla de problemas heredados y de seguridad. Si los scripts son críticos, migrar a PowerShell o JavaScript es una decisión inteligente, pero para sistemas heredados, saber cómo mantener VBScript activo o supervisarlo puede ahorrar horas de dolor de cabeza. No entiendo por qué Microsoft sigue dando largas, pero bueno, ¡más vale estar preparado!
Resumen
- Compruebe si la capacidad VBScript está instalada con
Get-WindowsCapability. - Reinstale con
Add-WindowsCapabilityo DISM si falta. - Verifique y vuelva a asociar la extensión.vbs si los scripts no se ejecutan.
- Utilice Sysmon para supervisar el uso de VBScript en configuraciones empresariales.
Resumen
Trabajar con VBScript en Windows 11 puede ser frustrante, sobre todo porque Microsoft, en cierto modo, quiere que sigas adelante. Pero a veces, basta con volver a añadir la función o corregir las asociaciones de archivos para solucionar el problema. Como mínimo, la monitorización con Sysmon puede darte tranquilidad sobre qué scripts se ejecutan en segundo plano. Cruzo los dedos para que esto te evite horas de dolor de cabeza; es un poco raro que la tecnología antigua siga vigente, pero bueno, así es la vida en Windows.