¿Por qué convertir VBS a PS1?
Microsoft ha marcado VBScript como obsoleto: en Windows 11 24H2 se convirtió en una característica opcional y Microsoft planea dejar de habilitarlo por defecto alrededor de 2027, para luego eliminarlo por completo. PowerShell se incluye con Windows y es el reemplazo oficial para la automatización en Windows; cualquier script .vbs que deba seguir funcionando debería reescribirse como .ps1 ahora.
Cómo convertir VBS a PS1
Visual Studio Code FREE
Abra el .vbs y un nuevo archivo .ps1 en vista dividida; VS Code proporciona resaltado de sintaxis para ambos lenguajes y facilita la reescritura en paralelo.
Notepad++ FREE
Abra el .vbs y el nuevo .ps1 lado a lado en la vista de múltiples ventanas de Notepad++ para portar cada sección manualmente; Notepad++ tiene resaltado de sintaxis integrado tanto para VBScript como para PowerShell.
Acerca de estos formatos
Un archivo VBS es un VBScript: código fuente en texto plano que Windows ejecuta con su Windows Script Host integrado. Al hacer doble clic en un .vbs, este se ejecuta inmediatamente; no se…
Abrir detalles de .VBS →Un archivo PS1 es un script de Windows PowerShell: un archivo de texto plano con comandos que automatizan tareas en Windows, macOS o Linux. En Windows, haga clic derecho sobre él y elija…
Abrir detalles de .PS1 →Calidad y qué observar
- Mapeos comunes:
CreateObject(«Scripting.FileSystemObject»)se convierte en cmdlets integrados comoGet-ItemyCopy-Item;WScript.Echose convierte enWrite-Output; los buclesFor Eachse convierten en buclesforeachcon sintaxis actualizada. - Si la política de ejecución bloquea el
.ps1en la primera ejecución, useSet-ExecutionPolicy RemoteSigned -Scope CurrentUseren PowerShell. - No existe un convertidor dedicado de VBS-a-PS1; los asistentes de IA pueden redactar un equivalente en PowerShell para scripts cortos, pero el resultado siempre requiere revisión y pruebas.
Preguntas frecuentes
¿Existe un convertidor automático de VBS a PowerShell?
¿Por qué no simplemente conservar el archivo `.vbs`?
.vbs eventualmente dejarán de ejecutarse.¿Se traducen las llamadas a objetos COM a PowerShell?
New-Object -ComObject para el acceso a COM, por lo que las llamadas a WScript.Shell a menudo pueden reemplazarse con New-Object -ComObject WScript.Shell.