Comandos esenciales de PowerShell que todo usuario de Windows debe conocer: Guía completa para principiantes

PowerShell ha revolucionado el modo en que los usuarios de Windows interactúan con sus sistemas operativos, transformando complejas tareas administrativas en procesos sencillos y automatizados.12. Tanto si es administrador de sistemas, profesional de TI o un usuario habitual de Windows que desea aumentar su productividad, dominar los comandos esenciales de PowerShell puede ahorrarle innumerables horas y desbloquear potentes funciones de automatización.34.

Esta completa guía cubre los comandos PowerShell más importantes que todo usuario de Windows debe dominar, desde la navegación básica hasta la gestión avanzada del sistema. Al final de este tutorial, tendrá la confianza necesaria para aprovechar las potentes funciones de PowerShell en las tareas informáticas diarias.

¿Qué es PowerShell y por qué debería importarle?

PowerShell es un potente entorno de scripts y shell de línea de comandos. que viene preinstalado en todos los sistemas operativos Windows modernos2. A diferencia del Símbolo del sistema tradicional, PowerShell utiliza un estructura sintáctica verbo-sustantivo que hace que los comandos sean intuitivos y legibles para el ser humano1. Por ejemplo, Obtener proceso recupera los procesos en ejecución, mientras que Stop-Service detiene los servicios del sistema.

Principales ventajas de PowerShell frente al símbolo del sistema

PowerShell ofrece importantes ventajas sobre la interfaz de línea de comandos tradicional1:

  • Salida basada en objetos: En lugar de texto plano, PowerShell trabaja con objetos estructurados que contienen propiedades y métodos
  • Funciones avanzadas de scripting: Cree scripts de automatización complejos con bucles, condiciones y funciones.
  • Ampliable mediante módulos: Añada funcionalidad mediante bibliotecas .NET y cmdlets personalizados
  • Apoyo a los oleoductos: Encadene comandos para procesar datos con eficacia
  • Compatibilidad multiplataforma: Ejecute PowerShell en Windows, Linux y macOS

Primeros pasos: Abrir PowerShell

Antes de sumergirse en los comandos, debe saber cómo acceder a PowerShell25. En Windows 11, el método más sencillo es:

  1. Escriba "PowerShell" en la barra de búsqueda de Windows
  2. Haga clic con el botón derecho del ratón en en "Windows PowerShell"
  3. Seleccione "Ejecutar como administrador" para privilegios elevados

Para la mayoría de las tareas administrativas, ejecutar PowerShell como administrador le garantiza que dispone de los permisos necesarios para ejecutar comandos a nivel de sistema.

Comandos esenciales de descubrimiento: Su brújula PowerShell

1. Obtener ayuda: Su manual incorporado

En Obtenga ayuda es posiblemente el comando PowerShell más importante alguna vez aprenderás467. Proporciona documentación completa para cualquier cmdlet, función o concepto dentro de PowerShell.

Sintaxis básica:

powershellGet-Help

Ejemplos prácticos:

powershell# Obtener ayuda básica para un comando
Get-Help Get-Proceso

# Obtener ayuda detallada con ejemplos
Get-Help Get-Process -Full

# Ver sólo ejemplos
Get-Help Get-Process -Ejemplos

# Abrir la documentación de ayuda en línea
Get-Help Get-Process -Online

Consejo profesional: Utilice Actualizar-Ayuda periódicamente para asegurarse de que dispone de la documentación de ayuda más reciente6.

2. Get-Command: Descubra los comandos disponibles

Cuando no sepas qué comando utilizar, Get-Command te ayuda encuentre el cmdlet adecuado para su tarea486.

Patrones útiles:

powershell# Listar todos los comandos disponibles
Obtener comando

# Buscar comandos que empiecen por "Get"
Get-Comando Get-*

# Buscar comandos que contengan "Process".
Comando Get *Process*

# Buscar comandos para acciones específicas
Get-Comando Start-*
Obtener comando Detener-*

Este método es especialmente útil cuando sabes qué acción quieres realizar pero no estás seguro del nombre exacto del comando.

3. Get-Member: Comprender las propiedades de los objetos

PowerShell trabaja con objetos, y Obtener-miembro te muestra qué propiedades y métodos están disponibles para cualquier objeto6.

powershell# Ver propiedades de objetos de proceso
Get-Process | Get-Member

# Ver propiedades de objetos de servicio
Get-Servicio | Get-Miembro

Comandos de gestión de archivos y carpetas

4. Get-ChildItem: Lista el contenido del directorio

Get-ChildItem es el equivalente de PowerShell a la función dir pero con muchas más funciones1910.

Uso común:

powershell# Listar el contenido del directorio actual
Get-ChildItem

# Lista de archivos ocultos
Get-ChildItem -Force

# Listado recursivo (incluyendo subdirectorios)
Get-ChildItem -Recurse

# Filtrar por tipo de archivo
Get-ChildItem *.txt

# Buscar archivos en subdirectorios
Get-ChildItem -Path C:\Users -Include *.pdf -Recurse

Alias: También puede utilizar lsdirgci como atajos10.

5. Set-Location: Navegar por directorios

Navega por tu sistema de archivos de forma eficiente con Fijar-Localización10.

powershell# Cambiar a un directorio específico
Establecer-Localización C:³³Usuarios³Documentos

# Ir al directorio principal
Set-Location ..

# Volver a la ubicación anterior
Set-Location -

# Navegar usando alias
cd C:³³Windows
sl C:\Temp

6. Copiar: Copiar archivos y carpetas

En Copiar artículo proporciona potentes funciones de copia de archivos910.

powershell# Copiar un solo archivo
Copiar-elemento "origen.txt" "destino.txt"

# Copiar con protección contra sobrescritura
Copiar-elemento "origen.txt" "copia.txt" -Forzar

# Copiar directorios completos
Copy-Item "C:fuente" "C:copia de seguridad" -Recurse

# Copiar múltiples archivos usando comodines
Copiar-elemento "*.log" "C:\Logs\"

7. Mover: Mover y renombrar archivos

Utilice Mover elemento para mover y renombrar archivos y carpetas1112.

powershell# Mover un archivo a otra ubicación
Mover-elemento "archivoantiguo.txt" "C:³³nuevaLocalización³"

# Cambiar el nombre de un archivo
Mover-elemento "nombreantiguo.txt" "nombrenuevo.txt"

# Mover todos los archivos de un tipo específico
Get-ChildItem *.txt | Move-Item -Destination "C:\TextFiles\"

8. Eliminar elemento: Eliminar archivos y carpetas

Eliminar archivos y directorios de forma segura con Eliminar elemento10.

powershell# Eliminar un solo archivo
Eliminar-elemento "no deseado.txt"

# Eliminar con confirmación
Eliminar-elemento "importante.txt" -Confirmar

# Eliminar directorios recursivamente
Remove-Item "C:³³TempFolder" -Recurse -Force

# Eliminar archivos que coincidan con el patrón
Eliminar-elemento "*.tmp"

Advertencia: Tenga mucho cuidado con Eliminar elementoespecialmente cuando se utiliza -Recurse y -Fuerza ya que los archivos borrados pueden no ser recuperables.

9. Nuevo elemento: Crear archivos y directorios

Crea nuevos archivos y carpetas rápidamente con Nuevo artículo1013.

powershell# Crear un nuevo directorio
New-Item -Name "NewFolder" -ItemType Directorio

# Crear un nuevo archivo
Nuevo-Item -Nombre "nuevoarchivo.txt" -TipoArchivo

# Crear archivo con contenido
New-Item "readme.txt" -ItemType File -Value "Este es el contenido inicial"

# Crear directorios anidados
New-Item "C:\Projects\NNNewProject\Source" -ItemType Directory -Force

Información del sistema y gestión de procesos

10. Get-Process: Monitorizar Procesos en Ejecución

Obtener proceso proporciona información detallada sobre procesos en ejecución en su sistema34.

powershell# Listar todos los procesos en ejecución
Obtener proceso

# Obtener un proceso específico por nombre
Get-Process bloc de notas

# Obtener procesos utilizando comodín
Get-Process nota*

# Ordenar procesos por uso de CPU
Get-Process | Ordenar-Objeto CPU -Descendente

# Obtener los 10 procesos que más memoria consumen
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

11. Detener Proceso: Terminar procesos

Detener procesos innecesarios o que no responden con Detener el proceso4.

powershell# Detener proceso por nombre
Detener-Proceso -Nombre "bloc de notas"

# Detener proceso por ID
Detener-Proceso -Id 1234

# Detener con confirmación
Detener-Proceso -Nombre "chrome" -Confirmar

# Forzar parada de procesos persistentes
Stop-Process -Nombre "aplicación" -Forzar

12. Get-Service: Administrar servicios de Windows

Supervisar y gestionar Servicios de Windows que se ejecutan en segundo plano41415.

powershell# Listar todos los servicios
Obtener-servicio

# Obtener servicios por estado
Get-Service | Where-Object Estado -eq "En ejecución"

# Obtener servicio específico
Get-Service -Name "Spooler"

# Obtener servicios que empiecen por determinadas letras
Get-Service -Name "Win*"

13. Iniciar-Servicio y Parar-Servicio: Servicios de control

Iniciar y detener los servicios de Windows según sea necesario1415.

powershell# Iniciar un servicio
Iniciar-Servicio -Nombre "Spooler"

# Detener un servicio
Stop-Service -Nombre "Spooler"

# Reiniciar un servicio
Reiniciar-servicio -Nombre "Spooler"

# Iniciar varios servicios
Get-Service -Name "BITS", "Spooler" | Start-Service

Comandos de solución de problemas de red

14. Test-NetConnection: Prueba de conectividad de red

Test-NetConnection es la versión mejorada de PowerShell de ping con capacidades adicionales1617.

powershell# Prueba de conectividad básica
Test-NetConnection google.com

# Probar puerto específico
Test-NetConnection google.com -Puerto 80

# Trazar ruta a destino
Test-NetConnection google.com -TraceRoute

# Probar múltiples conexiones
"google.com", "microsoft.com" | ForEach-Object { Test-NetConnection $_ }

15. Get-NetIPAddress: Ver configuración IP

Compruebe su configuración IP de la red con Get-NetIPAddress1617.

powershell# Mostrar todas las direcciones IP
Get-NetIPAddress

# Mostrar sólo direcciones IPv4
Get-NetIPAddress -AddressFamily IPv4

# Obtener información específica del adaptador
Get-NetIPAddress -InterfaceAlias "Ethernet"

16. Resolve-DnsName: Prueba de resolución DNS

Probar la resolución DNS y buscar información sobre dominios16.

powershell# Búsqueda DNS básica
Resolver-DnsName google.com

# Búsqueda de tipos de registro específicos
Resolver-DnsName google.com -Tipo MX

# Utilizar un servidor DNS específico
Resolve-DnsName google.com -Servidor 8.8.8.8

Comandos de manipulación de contenidos y datos

17. Get-Content: Leer el contenido de un archivo

Leer y visualizar el contenido de los archivos directamente en PowerShell1819.

powershell# Mostrar todo el contenido del archivo
Get-Content "archivo.txt"

# Leer un número específico de líneas
Get-Content "archivogrande.txt" -Head 10

# Supervisar los cambios en el archivo (como tail -f)
Get-Content "live.log" -Wait

# Leer las últimas líneas
Get-Content "recent.log" -Tail 20

18. Archivo de salida: Exportar salida a archivos

Guardar la salida del comando a archivos para su posterior análisis619.

powershell# Guardar lista de procesos en archivo
Get-Process | Archivo de salida "processes.txt"

# Añadir al archivo existente
Get-Date | Out-File "log.txt" -Append

# Guardar con codificación específica
Get-Service | Out-File "services.txt" -Encoding UTF8

19. Seleccionar objeto: Filtrar y dar formato a la salida

Controle qué información se muestra a partir de los resultados del comando2021.

powershell# Mostrar sólo propiedades específicas
Get-Process | Seleccionar-Objeto Nombre, CPU, WorkingSet

# Obtener los primeros resultados
Get-ChildItem | Seleccionar-Objeto -Primeros 5

# Seleccionar valores únicos
Get-Process | Select-Object NombreProceso -Único

Trabajar con PowerShell Pipelines

20. Where-Object: Filtrar resultados

Filtrar resultados de comandos en función de criterios específicos2021.

powershell# Filtrar servicios en ejecución
Get-Service | Where-Object Status -eq "Running"

# Filtrar archivos grandes
Get-ChildItem | Where-Object Length -gt 1MB

# Filtrado complejo con múltiples condiciones
Get-Process | Where-Object {$_.CPU -gt 100 -y $_.WorkingSet -gt 50MB}

21. Ordenar-Objeto: Ordenar resultados

Organizar la producción en orden ascendente o descendente21.

powershell# Ordenar procesos por nombre
Get-Process | Ordenar-Objeto Nombre

# Ordenar por múltiples propiedades
Get-ChildItem | Ordenar objeto LastWriteTime, Nombre

# Ordenar en orden descendente
Get-Process | Sort-Object CPU -Descending

22. ParaCadaObjeto: Procesar cada elemento

Realizar acciones en cada objeto en una tubería1921.

powershell# Procesa cada fichero
Get-ChildItem *.txt | ForEach-Object {
    Write-Host "Procesando: $($_.Nombre)"
}

# Modificar cada objeto
Get-Service | ForEach-Object {
    "$($_.Nombre): $($_.Status)"
}

Gestión de fecha y hora

23. Get-Date: Trabajar con fechas y horas

Recuperar y formatear información sobre la fecha y hora actuales19.

powershell# Obtener fecha y hora actuales
Obtener-fecha

# Formatear fecha de forma específica
Get-Date -Format "aaaa-MM-dd HH:mm:ss"

# Obtener componentes de fecha
(Get-Date).DíaDeLaSemana
(Get-Date).Año

# Calcular fechas futuras
(Get-Date).AddDays(30)

Mejores prácticas esenciales de PowerShell

Utilizar el tabulador

de PowerShell función de completado de pestañas acelera drásticamente la introducción de comandos17. Pulse Tab después de escribir nombres parciales de comandos, parámetros o rutas de archivos para autocompletarlos.

Aprovechar los alias

PowerShell incluye muchas alias incorporados para comandos comunes5:

  • ls o dir para Get-ChildItem
  • cd para Fijar-Localización
  • cat o tipo para Obtener contenido
  • rm o del para Eliminar elemento

Comandos de prueba seguros

Antes de ejecutar comandos potencialmente destructivos, utilice la función -Y si para ver qué ocurriría sin ejecutar realmente el comando12:

powershellEliminar-elemento *.txt -QuéSi
Detener-Servicio Spooler -QuéSi

Establecer política de ejecución

Por razones de seguridad, PowerShell restringe por defecto la ejecución de scripts22. Para ejecutar scripts, puede ser necesario modificar la política de ejecución:

powershell# Comprobar política actual
Get-ExecutionPolicy

# Establecer política para el usuario actual
Set-ExecutionPolicy RemoteSigned -Alcance UsuarioActual

Creación de su primer script PowerShell

Una vez que te sientas cómodo con los comandos individuales, puedes combinarlos en guiones para la automatización2223. He aquí un ejemplo sencillo:

powershell# Guardar como system-info.ps1
Write-Host "Informe de información del sistema" -ForegroundColor Verde
Write-Host "=========================" -ForegroundColor Verde

Write-Host "`nFecha y Hora Actual:" -ForegroundColor Amarillo
Obtener-Fecha

Write-Host "`nLos 5 primeros procesos por CPU:" -ForegroundColor Amarillo
Get-Process | Ordenar-Objeto CPU -Descendente | Seleccionar-Objeto -Primeros 5

Write-Host "`nCuento de servicios en ejecución:" -ForegroundColor Yellow
(Get-Service | Where-Object Status -eq "Running").Count

Write-Host "`nUso del disco:" -ForegroundColor Yellow
Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID, @{Name="Tamaño(GB)";Expression={[math]::Redondeo($_.Tamaño/1GB,2)}}, @{Name="EspacioLibre(GB)";Expression={[math]::Redondeo($_.EspacioLibre/1GB,2)}}

Ruta de aprendizaje avanzada de PowerShell

Una vez que domine estos comandos esenciales, considere la posibilidad de explorar estos temas avanzados24:

  • Gestión de Active Directory con los cmdlets de AD
  • Administración remota de ordenadores utilizando PowerShell remoting
  • Programación automática de tareas con scripts PowerShell
  • Tratamiento de errores y registro en guiones
  • Módulos y funciones PowerShell para reutilizar el código

Resolución de problemas comunes de PowerShell

Errores de la política de ejecución

Si encuentra errores del tipo "la ejecución de scripts está desactivada", compruebe y modifique su política de ejecución22:

powershellGet-ExecutionPolicy -Lista
Set-ExecutionPolicy RemoteSigned -Alcance UsuarioActual

Errores de permiso denegado

Muchas tareas administrativas requieren privilegios elevados. Ejecute siempre PowerShell como administrador cuando trabaje con:

  • Servicios del sistema
  • Modificaciones del registro
  • Configuraciones de red
  • Gestión de cuentas de usuario

Trayectoria y ubicación

Cuando los comandos no puedan encontrar archivos o directorios, verifique su ubicación actual y utilice rutas completas:

powershellObtener-Localización
Establecer-Localización C:\SuRutaDeseada

Conclusión: Potencie su experiencia Windows

Dominar estos comandos esenciales de PowerShell le transforma de un usuario pasivo de Windows en un administrador activo del sistema capaz de automatizar tareas complejas y resolver problemas de forma eficaz.13. En estructura de comandos verbo-sustantivo hace que el aprendizaje de PowerShell sea intuitivo, mientras que sus potentes funciones de canalización permiten un sofisticado procesamiento de datos y gestión de sistemas.24.

Empiece practicando estas órdenes en un entorno seguro, aumentando gradualmente su confianza y explorando escenarios más avanzados. Recuerda que Obtenga ayuda está siempre disponible para proporcionar información detallada sobre cualquier comando, y el tabulador hace que la introducción de comandos sea más rápida y precisa.725.

Tanto si gestiona archivos como si supervisa el rendimiento del sistema, soluciona problemas de red o automatiza tareas repetitivas, PowerShell le proporciona las herramientas que necesita para trabajar de forma más eficiente y eficaz con sistemas Windows.17. La inversión en el aprendizaje de PowerShell paga dividendos en el aumento de la productividad y la mejora de las capacidades de administración de sistemas que le servirán a lo largo de su carrera informática.

Graham Miranda
Graham Mirandahttp://grahammiranda.com/
Bienvenido. Soy Graham Miranda, un manitas de toda la vida, viajero intrépido y apasionado de la música. La tecnología siempre ha sido más que un hobby; es la lente a través de la cual exploro el mundo. Desde diseccionar el funcionamiento interno de dispositivos innovadores hasta descubrir funciones ocultas en aplicaciones cotidianas, mi misión es proporcionarte información que te permita tomar decisiones más inteligentes y despertar tu curiosidad. Mi viaje comenzó con la construcción de aparatos de bricolaje en mi dormitorio y creció hasta convertirse en un blog de tecnología donde comparto revisiones prácticas, tutoriales fáciles de seguir y consejos prácticos. Por el camino, he paseado por bulliciosos mercados de Bangkok, he contemplado las estrellas en el desierto de Atacama y he capturado panorámicas del amanecer en las cumbres europeas, todo lo cual alimenta mi escritura y mi pasión por el descubrimiento.

Últimos artículos

Artículos relacionados

Dejar una respuesta

¡Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

es_ESEspañol