User Tools

Site Tools


powershell:start

This is an old revision of the document!


Que es powershell?

PowerShell es un lenguaje de scripting y una shell de línea de comandos desarrollado por Microsoft para automatizar tareas, administrar sistemas y controlar aplicaciones.

Se puede considerar como el equivalente moderno del Command Prompt (CMD), pero mucho más potente.

¿Qué puede hacer?

Con PowerShell puedes:

Administrar Windows, macOS y Linux. Automatizar tareas repetitivas. Administrar usuarios, discos, servicios y procesos. Trabajar con archivos y carpetas. Consultar bases de datos. Leer y escribir archivos CSV, XML y JSON. Administrar servicios en la nube como Microsoft 365 y Azure. Controlar VMware, Hyper-V, NetBackup, Active Directory, Exchange, etc., mediante módulos específicos.

Por ejemplo, listar todos los procesos:

Get-Process

Listar todos los servicios:

Get-Service

Mostrar los archivos de una carpeta:

Get-ChildItem ¿Por qué es diferente de CMD?

CMD trabaja principalmente con texto.

PowerShell trabaja con objetos.

Por ejemplo:

Get-Process

Cada proceso es un objeto con propiedades como:

Name Id CPU WorkingSet StartTime

Puedes acceder directamente a ellas:

Get-Process notepad | Select-Object Name, Id, CPU

No tienes que analizar texto como en CMD.

Los cmdlets

Los comandos de PowerShell se llaman cmdlets y siguen la forma:

Verbo-Sustantivo

Ejemplos:

Get-Process Get-Service Stop-Service Start-Service New-Item Remove-Item Copy-Item Move-Item Rename-Item

Esto hace que sean fáciles de recordar.

Variables $nombre = “Adonis”

Write-Host $nombre

También puedes guardar listas:

$archivos = Get-ChildItem C:\Temp Tuberías (Pipelines)

Una de las características más potentes.

Get-Process | Where-Object CPU -gt 100

Hace lo siguiente:

Obtiene todos los procesos. Envía cada objeto por la tubería (|). Filtra solo los que usan más de 100 segundos de CPU.

También puedes ordenar:

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Automatización

Puedes crear scripts .ps1.

Ejemplo:

$fecha = Get-Date

Write-Host “Hola” Write-Host “Hoy es $fecha”

Y ejecutarlo:

.\script.ps1 Funciones

Puedes crear tus propios comandos.

function Saludar {

  param($Nombre)
  Write-Host "Hola $Nombre"

}

Saludar “Carlos” Ejemplo práctico

Supón que quieres saber cuánto espacio libre tienen todos los discos:

Get-CimInstance Win32_LogicalDisk | Select-Object DeviceID, @{Name=“Libre(GB)”;Expression={[math]::Round($_.FreeSpace/1GB,2)}} ¿En qué sistemas funciona?

PowerShell Core (PowerShell 7) funciona en:

✅ Windows ✅ Linux ✅ macOS

Con prácticamente el mismo lenguaje.

¿Por qué es tan popular entre administradores de sistemas?

Porque permite automatizar prácticamente cualquier tarea. Por ejemplo:

Revisar cientos de servidores. Copiar archivos automáticamente. Enviar correos cuando ocurre un error. Comprobar el estado de servicios. Leer registros (logs). Administrar máquinas virtuales. Crear informes en CSV o Excel. Programar tareas para que se ejecuten solas.

Segun chatGPT

powershell/start.1786023973.txt.gz · Last modified: by adm.wiki