En Rootear solemos hacer mucha mención a la aplicación de acciones y configuraciones vía comandos, una serie de comandos que nos permiten automatizar tareas y lograr el mismo objetivo que a través de la interfaz gráfica pero mediante texto.
En este sentido, es habitual que hablemos más de CMD que de Powershell, ya que la mayoría de los comandos que lanzamos son básicos y el símbolo del sistema funciona perfectamente para esta tarea, pero hoy nos preguntamos, ¿qué diferencias podremos encontrar entre uno y otro? ¿en qué casos es mejor hacer uso del clásico CMD y en qué casos aprovechar la potencia de Powershell? y eso es lo que hoy vamos a tratar de aclarar, al menos de dar algo de luz al respecto.
CMD o símbolo de sistema
Esta aplicación nativa de Microsoft la llevamos viendo muchos años en los sistemas operativos Microsoft, de hecho ya por el Windows 2000 podíamos ver esta funcionalidad, por lo que podríamos decir que ha estado presente desde la época moderna de los sistemas operativos.
Gracias a esta herramienta, podremos lanzar comandos básicos y preparar scripts relativamente sencillos, y es que tareas que van desde agregar una unidad en red, modificar el registro del sistema o hacer copias de seguridad de nuestros datos, están más que probadas y funcionan sin problemas.
Ahora bien, cuando ya queremos exigirle más al sistema, cuando queremos hacer desarrollos reales o cuando necesitamos acceder a ciertas áreas del sistema en busca de información, es donde CMD muestra sus carencias y donde veremos que resulta imposible llegar a un nivel profundo del sistema operativo, es decir, el símbolo del sistema lo podemos utilizar para acciones básicas y scripts sencillos, poco más.
PowerShell
A diferencia de su hermano mayor, PowerShell es una herramienta más moderna, la cual pudimos ver por primera vez en Windows Vista y que se ha mantenido hasta la fecha, de hecho, cada vez ha ido cobrando más importancia y no cabe duda que en el futuro sustituirá completamente al símbolo del sistema o CMD.
Esta herramienta ya necesita de ciertas características para funcionar, por ejemplo, .NET Framework, algo que no necesitábamos al hablar de CMD.
La principal diferencia entre ambos es que PowerShell permite una programación orientada a objetos, es decir, un programación compleja, además permite no solo trabajar con el sistema operativo Windows a nivel usuario, sino también con programas de Microsoft como SQL Server, Exchange o IIS, es decir, un alcance completo que nos permitirá automatizar tareas también a nivel de servidor.
Como podrán ver los seguidores habituales de este Blog, el símbolo del sistema o CMD tiene todavía un largo recorrido y podemos usarlo en decenas o cientos de acciones automatizadas que lograrán configurar rápidamente aspectos de nuestro sistema operativo de puesto cliente, pero no cabe duda de la mayor importancia que va cobrando PowerShell en Windows 10 y versiones futuras, por lo que es más que probable que en los próximos años veamos como CMD tiende a desaparecer, especialmente por el modo de programación mucho más avanzada y real que podemos hacer con PowerShell.