Tutorial de Powershell para principiantes: aprenda secuencias de comandos de Powershell
ยฟQuรฉ es PowerShell?
Windows PowerShell es un motor de automatizaciรณn orientado a objetos y un lenguaje de programaciรณn. Estรก diseรฑado principalmente para profesionales de TI y administradores de sistemas para controlar y automatizar la administraciรณn de Windows Sistema operativo y otras aplicaciones. Proporciona nuevos conceptos atractivos para ampliar el conocimiento que ha adquirido y los scripts que ha creado dentro del Windows sรญmbolo del sistema y Windows Entornos de script host.
Combina la flexibilidad de la programaciรณn, la velocidad de la lรญnea de comandos y la potencia de una herramienta de administraciรณn basada en GUI. Le permite resolver problemas de manera eficiente al ayudar al administrador del sistema a eliminar futuras horas de trabajo manual. Repasaremos todos los aspectos importantes que debe conocer para aprender a usar PowerShell.
Esta es una guรญa completa sobre los conceptos bรกsicos de las secuencias de comandos de Powershell... ยกcomencemos!
ยฟPor quรฉ utilizar Powershell?
Aquรญ hay algunas razones importantes para usar Powershell:
- Powershell ofrece una experiencia de lรญnea de comandos bien integrada para el sistema operativo
- PowerShell permite acceso completo a todos los tipos en el marco .NET
- Confiado por los administradores del sistema.
- PowerShell es una forma sencilla de manipular componentes de servidores y estaciones de trabajo.
- Estรก dirigido a administradores de sistemas al crear una sintaxis mรกs sencilla.
- PowerShell es mรกs seguro que ejecutar VBScript u otros lenguajes de programaciรณn
Historial de PowerShell
La primera versiรณn 1.0 de PowerShell se lanzรณ en 2006. Hoy en dรญa, PowerShell tiene la versiรณn 7.2. A medida que pasรณ el aรฑo y la versiรณn, las capacidades y los entornos de alojamiento de PowerShell crecieron significativamente.
Veamos el historial de versiones de Powershell:
- PowerShell versiรณn 1 admitรญa la administraciรณn local de Windows 2003 servidor
- PowerShell 2.0 se integrรณ con Windows 7 y Windows Servidor 2008 R2. Esta versiรณn admite comunicaciรณn remota y mejora las capacidades de PowerShell, como transacciones, trabajos en segundo plano, eventos, depuraciรณn, etc.
- PowerShell 3.0 se lanzรณ como parte interna del Windows marco de gestiรณn. Fue instalado en Windows 8 y Windows Servidor 2012. Puede agregar trabajos programados, conectividad de sesiones, carga automรกtica de mรณdulos, etc.
- PowerShell 4.0 se enviรณ con Windows 8.1 y Windows Servidor 2012 R2. En esta versiรณn se agregรณ soporte para la configuraciรณn del estado deseado, depuraciรณn mejorada y diagnรณstico de red.
- PowerShell 5.0 se lanzรณ como parte interna de Windows marco de gestiรณn 5. Las funciones que se ofrecen en esta versiรณn son depuraciรณn remota, definiciones de clases, enumeraciones .NET, etc.
- Se lanzรณ PowerShell 7.2, que se basa en .NET 6.0. Esta versiรณn ofrece nuevos operadores, una vista de errores simplificada y dinรกmica, notificaciones automรกticas de nuevas versiones, etc.
A continuaciรณn, en este tutorial de secuencias de comandos de Powershell, aprenderemos sobre las caracterรญsticas de Powershell.
Caracterรญsticas de Powershell
- PowerShell Remoting: PowerShell permite invocar scripts y cmdlets en una mรกquina remota.
- Trabajos en segundo plano: Le ayuda a invocar secuencias de comandos o flujos de trabajo de forma asincrรณnica. Puede ejecutar sus trabajos en la mรกquina local o en varias mรกquinas operadas de forma remota.
- Transacciones: Habilita el cmdlet y permite a los desarrolladores realizar
- Noche: Este comando le ayuda a escuchar, reenviar y actuar sobre eventos de gestiรณn y del sistema.
- Transferencia de archivos de red: Powershell ofrece soporte nativo para la transferencia priorizada, asincrรณnica y limitada de archivos entre mรกquinas mediante la tecnologรญa del Servicio de transferencia inteligente en segundo plano (BITS).
Cรณmo iniciar PowerShell
Ahora, en este tutorial del script de Powershell, aprenderemos cรณmo iniciar Powershell en Windows OS.
PowerShell estรก preinstalado en todas las versiones mรกs recientes de Windows. Necesitamos iniciar PowerShell, para ello debemos seguir los pasos indicados:
Paso 1) Busque PowerShell en Windows. Seleccione y haga clic
Paso 2) Se abre la ventana de Power Shell
Cmdlet de PowerShell
Un cmdlet que tambiรฉn se llama Command let es un comando liviano que se usa en el entorno PowerShell base de Windows. PowerShell invoca estos cmdlets en el sรญmbolo del sistema. Puede crear e invocar comandos de cmdlets mediante las API de PowerShell.
Cmdlet frente a comando
Los cmdlets se diferencian de los comandos en otros entornos de shell de comandos de las siguientes maneras:
- Los cmdlets son . NET Framework objetos de clase No se puede ejecutar por separado
- Los cmdlets se pueden construir a partir de tan solo una docena de lรญneas de cรณdigo.
- Los cmdlets no controlan el anรกlisis, el formato de salida y la presentaciรณn de errores.
- El proceso de cmdlets funciona en objetos. Por lo tanto, el flujo de texto y los objetos no se pueden pasar como salida para la canalizaciรณn.
- Los cmdlets se basan en registros, por lo que procesan un รบnico objeto a la vez.
La mayor parte de la funcionalidad de PowerShell proviene de Cmdlet, que siempre estรก en formato verbo-sustantivo y no en plural. Ademรกs, el cmdlet devuelve objetos, no texto. Un cmdlet es una serie de comandos, que tiene mรกs de una lรญnea, almacenados en un archivo de texto con una extensiรณn .ps1.
Un cmdlet siempre consta de un verbo y un sustantivo, separados por un guiรณn. Algunos de los verbos que utilizas para aprender PowerShell son:
- Obtรฉn - Obtener algo
- Contรกctenos โ Para ejecutar algo
- Oct โ Para generar algo
- Parada โ Para detener algo que se estรก ejecutando
- Establecer โ Para definir algo
- New โ Para crear algo
comandos de PowerShell
A continuaciรณn se muestra una lista de comandos importantes de PowerShell:
Consigue ayuda: Ayuda sobre los comandos y temas de PowerShell
Ejemplo: Mostrar informaciรณn de ayuda sobre el comando Formato-Tabla
Get-Help Format-Table
Obtener comando: Obtener informaciรณn sobre cualquier cosa que se pueda invocar.
Ejemplo de script de Powershell: para generar una lista de cmdlets y funciones instaladas en su mรกquina
Get-Command
Obtener servicio: Encuentra todos los cmdlets que contienen la palabra "servicio".
Ejemplo: obtener todos los servicios que comienzan con "vm"
Get-Service "vm*"
Obtener miembro: Muestra lo que se puede hacer con un objeto.
Ejemplo: obtener miembros de los procesos de la mรกquina virtual.
Get-Service "vm*" | Get-Member
Otros comandos:
- Obtener mรณdulo Muestra paquetes de comandos
- Obtener contenido Este cmdlet puede tomar un archivo, procesar su contenido y hacer algo con รฉl.
- Get-get Encuentra todos los cmdlets que comienzan con la palabra "get-
Ejemplo: crear una carpeta
New-Item -Path 'X:\Guru99' -ItemType Directory
Salida:
Tipos de datos de PowerShell

Variables especiales
| Variable especial | Descripciรณn |
|---|---|
| $Error | Una serie de objetos de error que muestran los errores mรกs recientes. |
| $anfitriรณn | Mostrar el nombre de la aplicaciรณn de alojamiento actual |
| $Perfil | Almacena la ruta completa de un perfil de usuario para el shell predeterminado |
| $ PID | Almacena el identificador del proceso. |
| $PSUICultura | Lleva el nombre de la cultura de interfaz de usuario actual. |
| $NULO | Contiene un valor vacรญo o NULL. |
| $falso | Contiene valor FALSO |
| $Verdadero | Contiene valor VERDADERO |
Scripts de PowerShell
Los scripts de PowerShell se almacenan en un archivo .ps1. De forma predeterminada, no se puede ejecutar un script con solo hacer doble clic en un archivo. Esto protege el sistema de daรฑos accidentales. Para ejecutar un script:
Paso 1: haga clic derecho y haga clic en "Ejecutar con PowerShell".
Ademรกs, existe una polรญtica que restringe la ejecuciรณn de scripts. Puede ver esta polรญtica ejecutando el comando Get-ExecutionPolicy.
Obtendrรก uno de los siguientes resultados:
- Restringidoโ No se permiten guiones. Esta es la configuraciรณn predeterminada, por lo que se mostrarรก la primera vez que ejecute el comando.
- TodosFirmadosโ Puedes ejecutar scripts firmados por un desarrollador de confianza. Con la ayuda de esta configuraciรณn, un script le pedirรก confirmaciรณn de que desea ejecutarlo antes de ejecutarlo.
- RemoteSignedโ Puede ejecutar sus scripts firmados por un desarrollador de confianza.
- Irrestricto- Puede ejecutar cualquier script que desee ejecutar
Pasos para cambiar la polรญtica de ejecuciรณn
Paso 1) Abra un mensaje elevado de PowerShell. Haga clic derecho en PowerShell y "Ejecutar como administrador"
Paso 2) Introduzca los siguientes comandos
- Get-ExecutionPolicy
- Polรญtica de ejecuciรณn de conjuntos sin restricciones
- Ingrese Y en el mensaje
- Get-ExecutionPolicy
Primer script de PowerShell
En un bloc de notas escribe el siguiente comando
Write-Host "Hello, Guru99!"
Los scripts de PowerShell tienen una extensiรณn ps1. Guarde el archivo como FirstScript.ps1
En Powershell, llame al script usando el comando
& "X:\FirstScript.ps1"
ยฟQuรฉ es PowerShell ISE?
El proceso de Windows PowerShell Integrated Scripting Environment (ISE) es el editor predeterminado para Windows Potencia Shell. En este ISE, puede ejecutar comandos, realizar pruebas de escritura y depurar scripts en un entorno GUI basado en ventanas. Puede realizar ediciones multilรญnea, colorear sintaxis, completar tabulaciones, ejecutar selectivamente y muchas otras cosas.
Windows PowerShell ISE tambiรฉn le permite ejecutar comandos en un panel de consola. Sin embargo, tambiรฉn admite paneles que puede usar para ver simultรกneamente el cรณdigo fuente de su script y otras herramientas que puede conectar a ISE.
Incluso puedes abrir varias ventanas de script al mismo tiempo. Esto resulta especialmente รบtil cuando estรกs depurando un script que utiliza funciones definidas en otros scripts o mรณdulos.
El mismo script que creamos en el Bloc de notas se puede crear en ISE.
- Pega el cรณdigo en el editor
- Guardar guiรณn
- Utilice F5 para ejecutar el script
- Observar la salida en la consola.
Muestra 2:
El siguiente cรณdigo darรก el Free Memoria virtual en tu maquina
Get-WmiObject -Class Win32_OperatingSystem โComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Ahora, en este tutorial de Powershell para principiantes, aprenderemos sobre conceptos importantes de Powershell:
| cmdlets | Los cmdlet son comandos de compilaciรณn escritos en lenguajes .net como VB o C#. Permite a los desarrolladores ampliar el conjunto de cmdlets cargando y escribiendo complementos de PowerShell. |
| Funciones | Las funciones son comandos escritos en el lenguaje PowerShell. Se puede desarrollar sin utilizar otro IDE como Visual Studio y desarrolladores. |
| Scripts | Los scripts son archivos de texto en el disco con una extensiรณn .ps1 |
| Aplicaciones | Las aplicaciones son programas de Windows existentes. |
| Y si | Le indica al cmdlet que no se ejecute, pero que le diga quรฉ sucederรญa si el cmdlet se ejecutara. |
| Confirmar | Indique al cmdlet que solicite antes de ejecutar el comando. |
| Verboso | Da un mayor nivel de detalle. |
| Depurar | Indica al cmdlet que proporcione informaciรณn de depuraciรณn. |
| ErrorAcciรณn | Indica al cmdlet que realice una acciรณn especรญfica cuando se produce un error. Las acciones permitidas continรบan, se detienen, en silencio, continรบan y preguntan. |
| variable de error | Especifica la variable que contiene informaciรณn de error. |
| FueraVariable | Le indica al cmdlet que use una variable especรญfica para contener la informaciรณn de salida. |
| OctBuffer | Indica al cmdlet que contenga la cantidad especรญfica de objetos antes de llamar al siguiente cmdlet de la canalizaciรณn. |
Ventajas de utilizar el script PowerShell
- Los scripts de PowerShell son realmente poderosos y pueden hacer muchas cosas en menos lรญneas.
- Las variables se declaran en la forma $
- Las variables podrรญan usarse para contener la salida de comandos, objetos y valores.
- No es necesario especificar el โtipoโ de una variable.
PowerShell vs. Sรญmbolo del sistema
| PowerShell | Sรญmbolo del sistema |
|---|---|
| PowerShell se integra profundamente con el Windows SO. Ofrece una interfaz de lรญnea de comandos interactiva y un lenguaje de secuencias de comandos. | El sรญmbolo del sistema es una interfaz de lรญnea de comando predeterminada proporcionada por Microsoft. Es una aplicaciรณn win32 simple que puede interactuar y hablar con cualquier objeto win32 en el Windows sistema operativo. |
| PowerShell utiliza lo que se conoce como cmdlets. Se puede invocar en el entorno de ejecuciรณn o en los scripts de automatizaciรณn. | No se ofrecen tales funciones mediante el sรญmbolo del sistema. |
| PowerShell los considera como objetos. Por lo tanto, la salida se puede pasar como entrada a otros cmdlets a travรฉs de la canalizaciรณn. | Sรญmbolo del sistema o incluso el shell *nix, la salida generada a partir de un cmdlet no es solo una secuencia de texto sino una colecciรณn de objetos. |
| PowerShell es muy avanzado en cuanto a caracterรญsticas, capacidades y funcionamiento interno. | El sรญmbolo del sistema es muy bรกsico. |
Aplicaciones de Powershell
En la actualidad, PowerShell se ha convertido en una opciรณn ideal para los administradores de TI, ya que facilita la operaciรณn y el esfuerzo de administraciรณn en grandes redes corporativas. Por ejemplo, supongamos que estรก administrando una gran red que contiene mรกs de cuatrocientos servidores y ahora desea implementar una nueva soluciรณn de seguridad. Esta soluciรณn de seguridad depende de un determinado servicio que debe ejecutarse en esos servidores.
Seguramente puede iniciar sesiรณn en cada servidor y ver si tienen ese servicio instalado y ejecutรกndose o no. Sin embargo, ciertamente se necesitan muchos errores humanos, ya que su personal necesita dedicar mucho tiempo a este proceso no productivo.
Sin embargo, si utiliza PowerShell, podrรก completar esta tarea en tan solo unos minutos, ya que toda la operaciรณn se realiza con un รบnico script que recopila informaciรณn sobre los servicios que se ejecutan en los servidores.
Resumen
- Windows PowerShell es un motor de automatizaciรณn y lenguaje de programaciรณn orientado a objetos.
- Powershell ofrece una experiencia de lรญnea de comandos bien integrada para el sistema operativo
- La primera versiรณn 1.0 de PowerShell se lanzรณ en 2006
- PowerShell permite invocar scripts y cmdlets en una mรกquina remota
- PowerShell estรก preinstalado en todas las versiones mรกs recientes de Windows
- Un cmdlet es un comando ligero que se utiliza en el entorno PowerShell base de Windows.
- Obtener, Iniciar, Salir, Detener, Establecer, Nuevo son comandos importantes de PowerShell
- Booleano, Byte, Chat, Decimal, Decimal, Long son tipos de datos importantes de PowerShell
- $Error. $Host, $Profile, $PID, $PSUICulture, $NULL son algunas variables especiales utilizadas en PowerShell
- El proceso de Windows PowerShell Integrated Scripting Environment (ISE) es el editor predeterminado para PowerShell
- PowerShell se integra profundamente con el Windows OS, mientras que el sรญmbolo del sistema es una interfaz de lรญnea de comandos predeterminada proporcionada por Microsoft
- PowerShell se ha convertido en una opciรณn ideal para los administradores de TI, ya que facilita la operaciรณn y el esfuerzo de administraciรณn en grandes redes corporativas.














