En muchos sentidos, la cuestión del uso de PowerShell vs. Símbolo del sistema (CMD) podría reducirse a diferencias generacionales. El CMD se desarrolló en los ochenta, mientras que PowerShell se introdujo en 2006. Esto es una eternidad en el mundo de la tecnología, y al ser (relativamente) nuevo, PowerShell incorpora algunas funciones prácticas adicionales, al tiempo que introduce un nuevo lenguaje que es más fácil de entender para los usuarios.
Como sucesor del Símbolo del sistema, PowerShell conserva muchas de sus capacidades más útiles y fundamentales. Ambos se utilizan para ejecutar comandos que permiten automatizar muchas tareas administrativas mediante scripts y archivos batch y solucionar determinados problemas de Windows. Sin embargo, las similitudes se terminan ahí, ya que tanto la línea de comandos de PowerShell como su lenguaje de scripting, más potentes, lo convierten en el motor de automatización dominante. Por ejemplo, este tutorial de PowerShell sobre el cifrado de discos BitLocker demuestra la relativa facilidad con la que se puede emplear PowerShell utilizando herramientas de gestión de TI como NinjaOne.
PowerShell vs. CMD: en qué se diferencian
Lenguaje y estructura de los datos
Una diferencia que uno nota inmediatamente entre PowerShell y CMD es que son lenguajes completamente diferentes. Los comandos en PowerShell se conocen como cmdlets y siguen un formato verbo-nombre, lo que facilita a los usuarios finales la comprensión del resultado de cada comando. Por ejemplo, cambiar la ubicación de un directorio:
- Cmdlet de PowerShell: Set-Location » D:testfolder».
- Símbolo del sistema (CMD): cd /d D:testfolder
Cada cmdlet puede ejecutarse por separado, pero su fuerza reside en combinarlos para realizar tareas complejas. Dado que PowerShell utiliza pipelines, el resultado de un cmdlet puede transmitirse al cmdlet siguiente, lo que permite a los usuarios ir uniendo varios cmdlets. PowerShell puede hacer esto tratando los datos como «objetos», o datos estructurados. En este sentido, PowerShell funciona de forma similar a un lenguaje de programación. Una ventaja del funcionamiento de la sintaxis y las salidas de datos de PowerShell es que los usuarios pueden probar fácilmente sus scripts para evitar que se ejecuten por error. Esto contrasta con los comandos del Símbolo del sistema, que deben introducirse con exactitud y pueden generar errores inalterables. Pero incluso si prefieres usar comandos CMD para algo, PowerShell también puede ejecutar comandos CMD.
Soporte integrado
Con el cmdlet Get-Help, los usuarios de PowerShell pueden acceder rápidamente a artículos de ayuda detallados que explican ciertos conceptos y la sintaxis de comandos de PowerShell. El cmdlet Get-Help puede hacerse más complejo y útil utilizando algunos de los parámetros que se indican a continuación:
- -examples: muestra ejemplos del cmdlet que se está ejecutando.
- -detailed: muestra información detallada sobre el cmdlet.
- -full: muestra toda la información relativa a un cmdlet.
- -online: abre el sitio web de Microsoft TechNet que contiene la información más reciente sobre un cmdlet.
¿Te estás preguntando cómo puedes empezar a utilizar cmdlets? Pues bien, ¡también hay un cmdlet para eso! Al ejecutar el cmdletGet-Command, PowerShell muestra una lista de todos los cmdlets disponibles. Este cmdlet se puede restringir aún más con parámetros para encontrar comandos específicos a realizar. Consulta el artículo de Jesús Vigo en TechRepublic si quieres más ideas sobre cómo empezar a utilizar PowerShell.
¿Cuándo utilizar PowerShell y cuándo CMD?
A todos los efectos, los usuarios de Windows deberían quedarse con PowerShell. Si realmente quieres usar comandos de Símbolo del sistema, el motor de scripting de PowerShell soporta muchos de ellos y, como PowerShell es «más seguro» (es decir, es menos probable que rompas algo sin querer), ya no hay muchas cosas para las que necesites usar un comando de Símbolo del sistema. Al final, los administradores de sistemas y los técnicos deberían aprender PowerShell para poder gestionar los sistemas de forma más eficaz. El motor de scripting hace que la automatización de tareas, como pueden ser las actualizaciones masivas o la modificación de archivos, sean mucho más fáciles y simples. Por ejemplo, los usuarios de PowerShell pueden utilizar NinjaOne para desinstalar un software a distancia cuando se requiere un proceso de desinstalación complejo en un dispositivo individual o si no se puede desinstalar una aplicación por otros medios.
Empieza a utilizar PowerShell
Para empezar a utilizar PowerShell, échale un vistazo a nuestro webinar a la carta con el gurú de PowerShell Kelvin Tegelaar. Para más información sobre cómo NinjaOne puede hacer que tus operaciones de TI sean más eficientes, suscríbete a nuestro boletín MSP Bento y regístrate en el próximo MSP Live Chat.