Crear y ejecutar tareas automatizadas con un PowerShell script
Con Windows PowerShell, puedes introducir comandos en una interfaz de texto para realizar diversas tareas del sistema.
¿Qué es un PowerShell script?
Windows PowerShell es una interfaz de línea de comandos y lenguaje de scripting diseñada específicamente para la administración y automatización de sistemas operativos Windows y productos Microsoft relacionados. Se publicó por primera vez en 2006 y desde entonces ha desempeñado un papel importante en la administración de sistemas Windows.
Un script de PowerShell consiste en una secuencia de cmdlets PowerShell, funciones, variables, condiciones y otras instrucciones para automatizar procesos y tareas recurrentes. Los scripts PowerShell se guardan en archivos de texto con la extensión .ps1. Para crearlos, puedes utilizar cualquier editor de texto o la consola Integrated Scripting Environment (ISE) de PowerShell. Para ejecutar el script, abre la consola PowerShell e introduce la ruta al archivo de script.
Independientemente de cómo ejecutes el script, debes asegurarte de que las políticas de ejecución de scripts estén configuradas correctamente en tu entorno de PowerShell. Por defecto, en muchos sistemas, la ejecución de scripts de PowerShell está desactivada para minimizar los riesgos de seguridad. Puedes cambiar las políticas de ejecución utilizando el cmdlet Set-ExecutionPolicy.
- Tu servidor propio en un hardware dedicado
- Integración en el cloud y facturación al minuto
- Respaldados por procesadores Intel® Xeon® y AMD
Cómo crear scripts de PowerShell con Visual Studio Code
Visual Studio Code (VS Code) es un popular editor de código gratuito de Microsoft diseñado específicamente para crear scripts y aplicaciones. Incluye un potente resaltado de sintaxis para el código PowerShell y admite IntelliSense para completar automáticamente el código.
Paso 1. Instala el VS Code
Si aún no has instalado VS Code, puedes descargarlo desde la página web oficial. Selecciona Windows como sistema operativo y haz doble clic para iniciar el instalador.
Paso 2. Añade la extensión PowerShell
Para poder utilizar PowerShell eficazmente en VS Code, debes instalar la extensión oficial PowerShell de Microsoft. Para ello, ve al área de “Extensiones” en VS Code (icono en la barra lateral izquierda) y busca “PowerShell”. Alternativamente, introduce el atajo [Ctrl] + [Mayús] + [X]. Instala la extensión haciendo clic en “Trust Workspace & Install”.
Paso 3. Crea el script
Puedes abrir un script de PowerShell existente o crear uno nuevo seleccionando “File” > “New Text File” e introduciendo el nombre del archivo con la extensión “.ps1” en “Save As”.
He aquí un ejemplo de código PowerShell que puede escribirse en el archivo abierto:
$message = "Script to be executed"
Write-Host $message
powershellPaso 4. Ejecuta el script
VS Code contiene un terminal integrado que puedes utilizar para ejecutar comandos PowerShell directamente en el entorno. Abre el terminal haciendo clic en “Terminal” > “New Terminal” y selecciona “PowerShell” como tipo de terminal.
Crear el script con el Bloc de notas
A continuación te mostraremos cómo crear un PowerShell script utilizando el editor de texto Bloc de notas.
Paso 1. Abre el Bloc de notas
Haz clic en “Inicio” o en el icono de Windows situado en la parte inferior izquierda del escritorio. Introduce “Bloc de notas” en la barra de búsqueda y pulsa la tecla Intro. Se abrirá el editor de texto Bloc de notas.
Paso 2. Escribe el código PowerShell
Puedes pegar el código PowerShell directamente en el editor Bloc de notas.
Haz clic en “File” > “Save” o utiliza la combinación de teclas [Ctrl] + [S]. Introduce un nombre de archivo y añade la extensión “.ps1” para guardar el script como archivo PowerShell. Selecciona una ubicación de almacenamiento en tu ordenador y haz clic en “Save”.
Crear scripts de PowerShell con Integrated Scripting Environment (ISE)
El Integrated Scripting Environment (ISE) de PowerShell es un entorno de desarrollo integrado (IDE) de Microsoft. El ISE de PowerShell está disponible por defecto en los sistemas Windows y sirve como un entorno robusto y fácil de usar para el desarrollo de scripts de PowerShell. Debes tener en cuenta que el ISE ha sido sustituido por Visual Studio Code (VS Code) con PowerShell 5.0 y versiones superiores, ya que este dispone de funciones y flexibilidad adicionales.
Paso 1. Abre el ISE de PowerShell
Haz clic en “Start” en la parte inferior izquierda de tu escritorio. Escribe “PowerShell ISE” en la barra de búsqueda y selecciona “Run as administrator”.
Paso 2. Diseña un nuevo script
En el ISE de PowerShell, puedes crear un nuevo script haciendo clic en “File” > “New” o utilizando la combinación de teclas [Ctrl] + [N]. Escribe tu código PowerShell en la ventana principal del ISE. Tendrás acceso a funciones como el resaltado de sintaxis, el completado automático de código y una interfaz de usuario clara que facilita el desarrollo de scripts.
He aquí un ejemplo de script sencillo:
# This is a comment
$message = "Hello World!"
Write-Host $message
powershellPaso 3. Guarda el script
Haz clic en “File” > “Save” o pulsa **[Ctrl] + [S]”. Asegúrate de añadir la extensión “.ps1” para guardar el script como archivo PowerShell.
Ejecuta el script de PowerShell
Un script de PowerShell se inicia normalmente a través de la consola PowerShell u otro terminal.
Paso 1. Inicia PowerShell
Primero abre PowerShell con derechos de administrador como en el ejemplo de ISE.
Paso 2. Cambia el ExecutionPolicy
PowerShell incluye cuatro Políticas de ejecución (Execution Policies) diferentes que controlan la seguridad y la capacidad de ejecutar scripts en el entorno PowerShell. Las cuatro políticas de ejecución comunes son:
- Restricted (Restringida): es la política de ejecución predeterminada para PowerShell. Con ella, los scripts están desactivados y solo se pueden ejecutar comandos interactivos en la consola. Esto proporciona el máximo nivel de seguridad, ya que la ejecución de scripts está bloqueada de forma predeterminada.
- AllSigned (Todos firmados): con esta política, todos los scripts deben estar firmados digitalmente para poder ejecutarse. Esto significa que el autor del script debe utilizar un certificado digital para firmar el script.
- RemoteSigned (Firmado remoto): con RemoteSigned, solo los scripts que provienen de Internet o de una ubicación de red deben estar firmados. Los scripts locales almacenados en tu ordenador pueden ejecutarse sin firma. Esto facilita el uso de scripts locales.
- Unrestricted (No restringido): esta política permite la ejecución de todos los scripts sin firma o restricción alguna. Se desaconseja utilizar esta política en un entorno productivo, ya que representa un riesgo de seguridad. Solo debe considerarse para fines de prueba o en entornos seguros.
Puedes ver la política de ejecución actual en tu entorno de PowerShell utilizando el comando Get-ExecutionPolicy. Para cambiar la política de ejecución, utiliza el comando Set-ExecutionPolicty seguido de la política deseada.
Puedes ingresar el siguiente comando para permitir la ejecución de scripts en PowerShell:
Set-ExecutionPolicy RemoteSigned
powershellPaso 3. Confirma la ejecución (si es necesario)
Dependiendo de la configuración de seguridad de tu entorno PowerShell, es posible que recibas un mensaje de seguridad para confirmar que deseas ejecutar el script. Introduce “Y” o “A” para aceptar, o “N” para “No”.
Paso 4. Ejecuta el script de Powershell
Para ejecutar el script PowerShell, inserta la ruta al archivo:
& "C:\PATH\TO\SCRIPT\script.ps1"
powershell