Características clave de PowerShell que se deben dominar

Advertisement

PowerShell es una herramienta esencial para los administradores de Windows 11. Sus potentes capacidades de scripting hacen que la gestión del sistema sea más eficiente, especialmente para tareas repetitivas que requieren automatización.

Advertisement

Como marco de línea de comandos moderno, PowerShell ejecuta comandos y permite la creación de scripts complejos que pueden ahorrar tiempo y esfuerzo. Con solo unas pocas líneas de script, los administradores pueden automatizar fácilmente varios procesos, como la gestión de usuarios, la generación de informes y la supervisión del sistema.

PowerShell Key Features

Lenguaje de scripting flexible

PowerShell es un lenguaje de programación creado con una sintaxis sencilla, similar a C#, por lo que los usuarios pueden crear fácilmente scripts para la automatización. Con sus capacidades flexibles, PowerShell le ayuda a administrar las tareas administrativas, incluidas las complejas, de manera más eficiente.

Advertisement

Elementos importantes de scripting

1. Variabel

Advertisement

Las variables de PowerShell almacenan datos. Puede declarar una variable mediante un signo $ seguido del nombre de la variable.

$UserName = “John Doe”

Estas variables pueden almacenar varios tipos de datos, incluidas cadenas, números y objetos.

2. Operator

PowerShell proporciona diferentes tipos de operadores:

  • Operator Aritmatika: Para realizar operaciones matemáticas como suma (+), resta (-), multiplicación (*) y división (/).
  • Operator Logika: Incluye -and, -or y -not para operaciones lógicas.
  • String Manipulation: Utilice operadores como + para unir cadenas.

Ejemplos de uso de operadores aritméticos:

$Result = 5 +10

3. Control Flow

El flujo de control organiza el flujo lógico en el script. PowerShell admite varias estructuras de control:

  • If Statement: Para el acondicionamiento.
  • For Loop: Para iteraciones basadas en un número específico.
  • While Loop: Para iteraciones siempre que se cumplan ciertas condiciones.

Ejemplos del uso de if statement:

if ($Result -gt 10) {
Write-Host “Result is greater than 10”
}

Formato de salida dinámico

Una de las ventajas de PowerShell es su capacidad para configurar la visualización de salida para que los resultados sean fáciles de entender y relevantes. Esta función es muy útil, especialmente cuando desea crear informes o mostrar datos del sistema.

Configuración del formato de salida para obtener resultados fáciles de leer

De forma predeterminada, PowerShell establece automáticamente la vista de salida del objeto cmdlet según su tipo de datos. Sin embargo, puede personalizar completamente el formato para que se adapte a sus necesidades. Algunas formas de establecer la vista de salida en PowerShell incluyen:

1. Tabla de formato

Muestra los datos en forma de tablas.

Get-Process | Format-Table Name, Id, CPU -AutoSize

Este resultado mostrará una lista de procesos con columnas recortadas automáticamente.

2. Lista de formatos

Muestra los datos en una lista vertical para obtener detalles más detallados.

Get-Service | Where-Object Status -eq “Running” | Format-List Name, DisplayName, Status

El resultado proporcionará detalles del servicio en ejecución en un formato de lista.

3. En todo el formato

Útil para mostrar una sola columna de datos formateada con un ancho determinado.

Get-Command | Format-Wide -Property Name -Column 4

Esto es útil si solo desea resaltar una propiedad específica.

Uso del formato de cadena para informes automatizados

El formato de cadena le permite insertar valores de variables en el texto con formato según sea necesario. Esto es muy útil para crear informes automatizados.

Ejemplo:

$Date = Get-Date -Format “dd-MM-yyyy”
$TotalProcesses = (Get-Process).Count
$Report = “System Report - $DatenTotal Active Processes: $TotalProcesses”
Write-Output $Report

Salida:

System Report - 16-12-2024
Total Active Processes: 127

Personalización predeterminada de PowerShell para obtener resultados más relevantes

De forma predeterminada, PowerShell da formato a la salida en función de la configuración integrada. Puede ajustar esa configuración para mostrar datos más relevantes:

1. Agregar formato personalizado para objetos

Utilice archivos XML para definir los formatos personalizados que desea aplicar a objetos específicos.

Update-FormatData -PrependPath “CustomFormat.ps1xml”

2. Guardar la salida en un archivo

Puede dirigir la salida a un archivo de texto o a un archivo CSV para obtener un informe más estructurado.

Get-Process | Select-Object Name, CPU | Export-Csv -Path “ProcessReport.csv” -NoTypeInformation

3. Salida a GridView

Para una gestión de datos más interactiva, utilice Out-GridView.

Get-Service | Out-GridView -Title “Layanan Aktif”

Sistema de Asistencia Interactivo

PowerShell incluye un sistema de ayuda interactivo que proporciona información detallada sobre cmdlets, parámetros y ejemplos. Este sistema es muy útil para que los administradores y usuarios entiendan y utilicen los comandos de PowerShell rápidamente.

Función Get-Help  para comprender rápidamente los cmdlets

El  cmdlet de Get-Help permite acceder a la documentación del cmdlet o la función directamente desde la consola de PowerShell. Con esto, no tiene que depender de referencias externas para comprender los cmdlets.

Get-Help Get-Process

Este comando mostrará información sobre  el cmdlet de Get-Process, incluida su descripción, parámetros y sintaxis de uso.

También puede usar el parámetro -Examples para ver un ejemplo práctico del uso de cmdlets:

Get-Help Get-Process -Examples

Cómo obtener detalles del cmdlet Get-Process

Si necesita información detallada sobre los parámetros de un cmdlet como Get-Process, puede usar los parámetros -Detailed o -Full para ver todos los detalles.

Get-Help Get-Process -Detailed

Si necesitas una documentación muy completa, utiliza:

Get-Help Get-Process -Full

Los dos comandos anteriores proporcionarán una descripción completa, incluida una descripción de los parámetros, las entradas recibidas y la salida generada.

Cómo actualizar la ayuda con Update-Help a la última versión

PowerShell permite actualizar los archivos de ayuda para que sigan siendo relevantes para los cmdlets y las características más recientes. Esto es especialmente importante teniendo en cuenta que PowerShell sigue evolucionando.

Update-Help

Este comando descargará e instalará los archivos de ayuda más recientes para todos los módulos instalados. Asegúrese de que su dispositivo esté conectado a Internet antes de ejecutar este comando.

Si desea actualizar la ayuda de un módulo específico, utilice:

Update-Help -Module Microsoft.PowerShell.Management

De forma predeterminada, PowerShell solo incluye archivos de ayuda mínimos para reducir el tamaño de la instalación. Al ejecutar Update-Help, puede descargar la documentación completa de los cmdlets y módulos.

Módulos y comandos de PowerShell

PowerShell usa el concepto de módulo para agrupar cmdlets y funciones relacionadas en un único paquete estructurado. Los módulos permiten a los usuarios ampliar la funcionalidad de PowerShell mediante la adición de cmdlets y scripts personalizados según sea necesario.

Los módulos son colecciones de cmdlets, funciones, variables y archivos de configuración que se usan para ampliar las funcionalidades de PowerShell. Los módulos pueden contener cmdlets para tareas específicas, como la administración del sistema, las redes o las aplicaciones de terceros.

Cada módulo se puede importar a una sesión de PowerShell mediante el comando Import-Module. Este módulo puede facilitar la gestión de varias aplicaciones o tareas administrativas sin necesidad de reescribir scripts complejos.

Origen del módulo

Los módulos para PowerShell pueden provenir de una variedad de orígenes:

1. Modul Bawaan Windows 11

Windows 11 viene con módulos estándar incluidos para administrar varias funciones del sistema, como la administración de archivos, las redes y los servicios.

Ejemplos de los módulos integrados de Windows 11 son el módulo Microsoft.PowerShell.Management, que proporciona cmdlets para administrar procesos y servicios, y el Microsoft.PowerShell.Utility que incluye funciones de utilidad para la manipulación de datos.

2. Modul dari PowerShell Gallery dan Komunitas

PowerShell Gallery es el repositorio oficial de módulos de PowerShell creados por la comunidad y los desarrolladores. Puede buscar e instalar módulos desde la Galería de PowerShell mediante los cmdlets Find-Module y Install-Module.

Ejemplo para buscar e instalar módulos desde la Galería de PowerShell:

Find-Module -Name Az -Repository PSGallery
Install-Module -Name Az -Force

El módulo Az es un ejemplo de un módulo que se usa para administrar servicios de Azure mediante PowerShell.

3. Modul Kustom yang Dibuat oleh Pengguna

Los usuarios también pueden crear y compartir módulos personalizados para satisfacer las necesidades específicas de una organización o proyecto. Estos módulos pueden incluir scripts personalizados y funciones escritas por los usuarios para automatizar tareas específicas.

Cómo cargar módulos usando Import-Module

Para cargar módulos que ya están instalados o disponibles en un directorio específico, use el cmdlet Import-Module. Una vez cargado el módulo, puede usar los cmdlets y las funciones que se encuentran en ese módulo en la sesión de PowerShell.

Ejemplo de carga de un módulo incorporado o un módulo preinstalado:

Import-Module Microsoft.PowerShell.Management

Para cargar un módulo desde un directorio local o un módulo personalizado:

Import-Module “C:\Path\To\Your\Module\MyCustomModule.psm1”

Si desea asegurarse de que los módulos importados están disponibles en cada sesión de PowerShell, puede agregar este comando al archivo de perfil de PowerShell.

Artículos Recientes