2012-03-26 6 views
13

¿Cuáles son las principales diferencias entre Powershell y VBScript que me harían elegir de uno a otro al planear un nuevo proyecto con este tipo de scripts?¿Cuáles son las ventajas de ejecutar Powershell en lugar de VBScript?

+2

Increíble pregunta, realmente necesitaba saber sobre esto. Absolutamente odio algunas de las políticas de SO. –

+0

Esta pregunta es constructiva ... –

Respuesta

14

VBScript es bastante limitado en lo que se refiere a PowerShell. PowerShell tiene acceso a todas las bibliotecas .NET para que pueda aprovechar todo lo que pueda con un lenguaje como C# o VB.NET. También puede cargar cualquier DLL .NET y aprovechar las bibliotecas de terceros como las que se encuentran en codeplex.

PowerShell tiene algunas limitaciones, pero rara vez se encontrará con ellas. Powershell se ejecuta en un único hilo, por lo que si intenta invocar cualquier biblioteca .NET que cree un nuevo hilo como BackgroundWorker, tendrá problemas. Dicho esto, no puede hacer ningún procesamiento concurrente con VBScript. En PowerShell, al menos tiene trabajos en segundo plano.

PowerShell también es interactivo. Esto le permite probar cosas en la consola primero e integrarlas en scripts más grandes y complicados.

También hay una serie de herramientas de depuración y desarrollo gratuitas disponibles para PowerShell. Viene con uno realmente llamado ISE. Otro está disponible en Quest llamado PowerGUI. Si quieres algo similar en VBScript, deberías usar algo como Visual Studio y ejecutar tu script con cscript //X o utilizar algo como PrimalScript, que es caro.

PowerShell a menudo le permite hacer más con menos en comparación con VBscript. En algunos casos, puede reducir los VBscripts que son cientos de líneas a solo decenas de líneas en PowerShell.

Si se encuentra leyendo un script de BASH en algún momento, es posible que se sorprenda de lo familiar que es después de haber recogido PowerShell. La sintaxis es similar. También es fácil convertir el código de PowerShell a C# y viceversa. Esto es genial porque si no puede encontrar un ejemplo de cómo hacer algo directamente con PowerShell, puede encontrar un ejemplo en C# y se puede convertir a PowerShell con bastante facilidad.

2

Powershell a menos que tenga una buena razón para no hacerlo, simplemente porque eso es lo que Microsoft ha diseñado para el sistema operativo y la automatización de aplicaciones en todas sus plataformas. Es posible que desee leer para obtener más detalles en el sitio de Microsoft PowerShell. Tiene muchas cosas que vbscript no hará o muy difícil de hacer, como ejecución remota, seguridad, etc.

Cuestiones relacionadas