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
- Empiece a promover la campaña — Para ejecutar algo
- Oct — Para generar algo
- Parada — Para detener algo que se está ejecutando
- Set — Para definir algo
- Nuevo — 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 | Descripciones |
---|---|
$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?
La 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
- La 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.