Una aclaración:
PowerShell es un lenguaje mucho más completo, complejo y y sofisticado que
VBS (y por supuesto, que
Batch). Una diferencia muy característica de
PowerShell aparte de la sintaxis basada en
Pipelines (cuyo uso no es estrictamente obligatorio, ahora veremos por qué), es que en
PowerShell se puede usar las clases de
.NET Framework, y esto aparte de ofrecernos acceso a cualquier miembro de las librerías que componen a
.NET Framework, también nos permite desarrollar código en
C# o
VB.NET (clases de una librería, e incluso executables de consola o de escritorio) y compilarlo en tiempo de ejecución con
PowerShell (mediante la clase 'System.CodeDom.Compiler.CodeDomProvider' de
.NET Framework) para cargar el ensamblado en la memoria y usar los miembros de las clases compiladas.
Dicho de otro modo,
PowerShell te permite desarrollar código en puro
PowerShell (en este modo de uso predomina el uso de las
pipes), también te permite usar (de forma opcional) diréctamente las clases de
.NET Framework, y gracias a esto último además también te permite la posibilidad opcional de "hibridar"
PowerShell con
C#,
VB.NET y
JScript... en forma de clases encapsuladas en el script de
PowerShell, es decir, si lo deseas puedes desarrollar tus códigos/algoritmos en
C#,
VB.NET o
JScript en tu script de
PowerShell. Todo un amplio universo de posibilidades que poder explorar con un solo lenguaje de scripting.
¿
Cómo introducirse a la programación PowerShell?... tienes todo lo necesario por aprender en la web de
Microsoft:
Saludos.