Trabajar con scripts PowerShell puede ser una perspectiva apasionante. Después de todo, le ofrece una interfaz limpia para crear sus scripts para automatizar las tareas diarias.
Si es usted desarrollador, puede crear scripts de automatización en toda regla: PowerShell destaca en ello, especialmente si lo utiliza para crear, probar y desplegar soluciones en entornos CI/CD.
Este artículo se centra en la creación y ejecución de scripts PowerShell. Aquí, cubriremos una guía paso a paso sobre cómo hacerlo con VS Code, el Bloc de notas y el Entorno de scripting integrado.
Comencemos.
¿Qué es PowerShell?
PowerShell es una herramienta de automatización y configuración multiplataforma. Ofrece un paquete completo para que administradores, desarrolladores y otros usuarios utilicen cmdlets (un comando pequeño y ligero) para gestionar diferentes tareas.
Con el paquete, obtendrá lo siguiente
- Un shell de línea de comandos
- Un lenguaje de scripting asociado
- Un marco para procesar cmdlets
A diferencia de Command Prompt, está disponible en las principales plataformas, incluidas Windows, Linux y macOS.
Técnicamente, PowerShell está construido sobre el marco .NET. Gracias a su enfoque, admite objetos y datos estructurados como JSON, CSV y XML. Los desarrolladores también pueden utilizar las API REST con PowerShell. Por desgracia, el Símbolo del sistema básico no admite nada de esto, ya que está basado en texto.
Todos los scripts de PowerShell se escriben con la extensión.ps1.
Al escribir scripts en PowerShell, necesita conocer tres conceptos clave:
- Cmdlet: Son scripts ejecutables atómicos que ofrecen funcionalidades preconfiguradas. Por ejemplo, puede utilizar Copy-Item para copiar, Get-Help para obtener ayuda o Write-Host para mostrar algo en pantalla.
- Alias: Los alias ofrecen una forma sencilla de hacer referencia a los cmdlets. Proporcionan un acceso más rápido. Sin embargo, es aconsejable utilizarlos con instrucciones para fines interactivos y no al escribir scripts PowerShell.
- Funciones: Una función es un conjunto de sentencias PowerShell. Los usuarios pueden invocar una función llamándola.
PowerShell y los scripts
Los scripts son un método esencial para automatizar aspectos de su trabajo. Tanto si es programador, administrador o autónomo, las secuencias de comandos pueden automatizar procesos de trabajo mundanos
Después de todo, hay un montón de beneficios de scripting, incluyendo:
- Ahorre su valioso tiempo mediante la automatización.
- Conocimiento portátil.
- Le permite mantener la coherencia entre sistemas.
- Mejora su conjunto de habilidades y empleabilidad.
Puede hacer scripts en PowerShell, Bash Scripting, Ruby o Python.
En general, PowerShell es una herramienta excelente para hacer scripts. Sin embargo, Windows impide que los scripts se ejecuten debido a la configuración de seguridad. Esto puede dar lugar a errores como «la ejecución de scripts está deshabilitada en este sistema» Para eludirlo, necesitará establecer la política de ejecución correcta. (tratado más adelante en el artículo)
¿Por qué debería utilizar PowerShell para ejecutar scripts?
Una de las principales razones por las que PowerShell es una excelente elección para la creación de scripts es su capacidad para trabajar en todas las plataformas. Es compatible con Windows, Linux y MacOS, algo que el Símbolo del sistema predeterminado de Windows no hace.
Puede utilizar PowerShell para crear trabajos simples utilizando sus sencillos constructores de tareas. Por ejemplo, puede utilizar PowerShell para reiniciar una máquina, limpiar la caché periódicamente o incluso autenticar sesiones.
Además, las secuencias de comandos de PowerShell se utilizan principalmente para la automatización de la gestión del sistema. Sin embargo, puede utilizarlo como desarrollador para probar, crear y desplegar compilaciones a través de un entorno CI/CD.
¿Cómo se crean los scripts PowerShell?
Para crear scripts PowerShell, necesitará un editor de texto. En su mayor parte, lo hará bien con un editor de texto básico, pero con un editor de texto/código moderno, encontrará todo el proceso mucho más manejable.
Por eso empezaremos mostrando cómo crear scripts PowerShell utilizando Visual Studio Code (también conocido como VS Code). También cubriremos cómo crear scripts PowerShell en el Bloc de notas y otros entornos integrados amigables para scripts como PowerShell Integrated Scripting Environment. (PowerShell ISE).
#1. Con VS Code
VS Code es un editor de código multiplataforma gratuito, robusto y fiable. Microsoft lo desarrolla, dándole el beneficio añadido de un buen soporte para PowerShell.
Usted obtiene una interfaz limpia fuera de la caja y puede utilizarlo con prácticamente cualquier lenguaje de programación.
Como VS Code es un editor de código propiamente dicho, admite extensiones. Y para mejorar nuestra experiencia de scripting PowerShell, utilizaremos la extensión PowerShell.
Instalación de Visual Studio Code
Pero, antes de todo esto, necesita instalar VS Code.
Para ello, vaya a la página de descarga de Visual Studio Code. Seleccione la versión correcta de VS Code en función de su sistema operativo. Como nosotros utilizamos Windows 11, optamos por la versión para Windows.
Una vez descargado, haga doble clic en el instalador y siga el asistente para instalarlo en su ordenador.
Instalación de la extensión PowerShell
Puede instalar la extensión PowerShell de dos formas. En primer lugar, cree un nuevo archivo con la extensión .ps1 .
VSCode es lo suficientemente inteligente como para saber que está trabajando con PowerShell y le recomienda automáticamente que instale la «extensión PowerShell» de Microsoft.
Puede hacer clic en «Instalar» para que se instale. De lo contrario, haga clic en «Mostrar recomendación» para obtener más información al respecto.
Si, por alguna razón, Visual Studio Code no le ofrece ninguna recomendación, puede buscar manualmente el complemento.
Haga clic en el símbolo de los cuatro cuadrados (con un cuadrado sobresaliendo) o pulse Ctrl Mayús X para abrir la ventana de la extensión. Ahora, busque «PowerShell de Microsoft» y haga clic en el primer resultado. A partir de ahí, proceda a instalarlo.
Por último, le preguntará si desea confiar en los autores de los archivos del espacio de trabajo. Pulse «Confiar en el espacio de trabajo e instalar» para completar la instalación.
Creando el Script PowerShell con VS Code
Ahora puede crear su primer script Powershell con VS Code y sus extensiones correctamente instaladas.
Si aún no lo ha creado, puede hacerlo siguiendo los pasos que se indican a continuación.
- Abra VS Code
- Vaya al menú superior, haga clic en Archivo y, a continuación, en Nuevo archivo de texto.
- Ahora, guarde el archivo yendo a Archivo > Guardar como.
- Introduzca el nombre de archivo deseado y asegúrese de añadir la extensión .ps1
- Finalmente, haga clic en Guardar archivo.
Ya está Ahora puede crear su script como corresponda. He añadido un cmdlet Write-Host con un valor de «Este es un script de código VS escrito para Geekflare»
Veremos cómo ejecutar el script más adelante, ¡así que siga leyendo!
#2. Con el Bloc de notas
Crear scripts PowerShell en el Bloc de notas es fácil.
Todo lo que necesita hacer es seguir los siguientes pasos:
1. Abra Inicio y busque Bloc de notas.
2. Ahora, haga clic con el botón derecho y seleccione «Abrir como administrador»
3. Ahora, escriba su script.
4. Para el tutorial, escribiremos: «Este es un Script PowerShell escrito en Notepad»
5. Vaya a Archivo en el menú superior y haga clic en «Guardar como»
6. Seleccione el nombre de su script PowerShell y haga clic en «Guardar»
Eso es todo. Ha creado con éxito un script PowerShell con el Bloc de notas.
#3. Con PowerShell ISE
PowerShell en Windows también ofrece su propio Entorno Integrado de Script. Puede utilizarlo para codificar sus scripts sin depender de editores de código o de texto de terceros.
Para utilizarlo con éxito, tendrá que hacerlo siguiendo los pasos que se mencionan a continuación:
1. Abra Inicio.
2. Ahora, busque la palabra clave «Windows PowerShell ISE»
3. Seleccione el primer resultado, haga clic con el botón derecho y, a continuación, haga clic con el botón izquierdo en «Ejecutar como administrador» Se abrirá la ventana de PowerShell ISE.
4. Ahora, haga clic en Archivo y luego seleccione «Nuevo» Abrirá una nueva ventana de archivo como la de abajo.
7. Escriba el script que desee. Para el tutorial, escribiremos, «Este es un Script PowerShell escrito con la ayuda de PowerShell ISE»
8. Una vez hecho esto, vaya a Archivo y Guardar como.
9. Aquí, seleccione el nombre del archivo y haga clic en Guardar.
También puede ejecutar el script directamente desde PowerShell ISE. Para ello, haga clic en el botón EJECUTAR de la sección superior del entorno. Si arroja un Error de Seguridad, lea a continuación cómo solucionarlo.
Cómo Solucionar el Error de Seguridad del Script PowerShell y Ejecutarlo
Como se mencionó anteriormente, Windows tiene una estricta política de seguridad al ejecutar scripts. Para saltársela, necesitará habilitar la ejecución de scripts en su máquina Windows.
Para ello, siga los pasos que se indican a continuación:
- Abra el menú Inicio de Windows.
- Busque PowerShell.
- A continuación, haga clic con el botón derecho del ratón sobre la aplicación PowerShell.
- Seleccione la opción «Ejecutar como administrador».
- Una vez que se abra PowerShell, escriba el comando «Set-ExecutionPolicy RemoteSigned»
- Pulse Intro y le pedirá confirmación. Pulse A para habilitarlo.
Eso es todo; ¡por fin puede ejecutar todos sus scripts!
Para PowerShell ISE, se verá como abajo.
Para Visual Studio Code, se verá como abajo.
Y, para Notepad, tendrá que ejecutarlo directamente desde el símbolo del sistema de PowerShell.
Mejores prácticas para escribir y ejecutar scripts PowerShell
Debe seguir las mejores prácticas cuando trabaje con scripts PowerShell. Estas prácticas incluyen:
- Utilice el nombre completo del cmdlet en lugar de utilizar su alias. El alias es útil sólo cuando se interactúa con la consola. El alias mejora la interactividad más rápidamente pero puede estropear el script.
- Es mejor no utilizar el cmdlet Write-Host ya que ofrece una funcionalidad limitada. Por ejemplo, sólo envía salida a la pantalla. Sin embargo, puede utilizarlo para mostrar texto en un color específico. En su lugar, puede utilizar el cmdlet Write-Output.
- Utilice siempre el sustantivo singular del cmdlet en lugar de su sustantivo plural.
- Utilice el verbo aprobado para el cmdlet.
- Especifique la extensión de la aplicación siempre que sea posible. Elimina confusiones y mejora la legibilidad.
- Utilice un editor de código PowerShell dedicado como VS Code o PowerShell ISE. Estos ofrecen excelentes características para escribir y ejecutar scripts PowerShell. Puede utilizar el Bloc de notas o Notepad , pero entonces se estará limitando.
- Intente comentar, pero no se exceda, ya que puede estropear la legibilidad y mantenibilidad del código.
- Asegúrese de que ha establecido el parámetro de seguridad adecuado para ejecutar scripts PowerShell.
Conclusión
Ya está Ahora puede crear y ejecutar scripts PowerShell utilizando el Bloc de notas, VS Code y PowerShell ISE. Además, puede utilizar cualquiera de las herramientas mencionadas para escribir y ejecutar scripts PowerShell.
Sin embargo, como se menciona en la práctica recomendada, es mejor evitar el Bloc de notas o el Bloc de notas para escribir scripts de PowerShell, ya que se pierden muchas funciones que ofrecen los editores de código dedicados VS Code y PowerShell ISE.
A continuación, también puede leer cómo comprobar la versión de PowerShell y actualizarla en el servidor Windows.