Los comando utilizados en PowerShell se conocen como cmdlets y nos ofrecen una mayor potencia y versatilidad en comparación con los comandos tradicionales de la línea de comandos de Windows. A continuación enumeramos una serie de cmdlets básicos para empezar a trabajar con PowerShell.

Los siguientes cmdlets nos ayudan a trabajar y obtener información sobre cómo utilizar los elementos disponibles en PowerShell.

  • Get-Command nos muestra los comandos que podemos usar, pudiendo filtrar aquellos de un tipo determinado mediante el parámetro -CommandType "tipo"
  • Get-Help nos ofrece información de un comando concreto
  • Get-Alias nos muestra los nombre alternativos de algunos cmdlets
  • Get-History lista los comandos utilizados en la sesión

Trabajar con el sistema de ficheros

  • Listar los archivos y directorios de una ruta (dir ls):
Get-ChildItem -Path ".\ruta\"
  • Cambiar de ubicación en el sistema de ficheros (cd):
Set-Location -Path ".\nueva_ruta"
  • Crear un nuevo archivo o directorio:
New-Item -Path ".\ruta" -ItemType "[File|Directory]"
"Hello, PowerShell!" | Out-File -FilePath "archivo.txt"
  • Eliminar un elemento (rmdir del)
Remove-Item -Path ".\ruta\archivo.txt"
  • Copiar y mover elementos (copy move):
Copy-Item -Path ".\ruta\archivo1.txt" -Destination ".\ruta2\archivo2.txt"
Move-Item -Path ".\ruta\archivo1.txt" -Destination ".\ruta2\"
  • Obtener el contenido de un archivo (type cat)
Get-Content -Path ".\ruta\archivo1.txt"
  • Agregar contenido a un archivo existente:
Add-Content -Path ".\archivo.txt" -Value "Hello, PowerShell!"

Filtros y ordenación

  • Ordenar los archivos por su tamaño:
Get-ChildItem | Sort-Object Length
  • Filtrar por propiedades:
Get-ChildItem | Where-Object -Property "Extension" -eq ".txt" 
Get-ChildItem | Where-Object -Property "Name" -like "ship*"
  • Seleccionar propiedades concretas de un objeto o limitar el número de objetos devueltos:
Get-ChildItem | Select-Object Name,Length
  • Buscar patrones de texto dentro de ficheros (findstrt grep):
Select-String -Path ".\fichero.txt" -Pattern "patron_a_buscar" 

Información y gestión del sistema

  • Obtener información del sistema (systeminfo):
Get-ComputerInfo
  • Obtener las cuentas de usuarios locales del sistema:
Get-LocalUser
  • Obtener información de red:
Get-NetIPConfiguration
Get-NetIPAddress
  • Mostrar los procesos que se están ejecutando:
Get-Process
  • Obtener el estado de los servicios del sistema:
Get-Service
  • Obtener las conexiones TCP establecidas:
Get-NetTCPConnection
  • Calcular hashes de archivos:
Get-FileHash -Path .\fichero.txt