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. Whether you’re a system administrator, IT professional, or an everyday Windows user looking to boost productivity, mastering essential PowerShell commands can save you countless hours and unlock powerful automation capabilities34.
This comprehensive guide covers the most important PowerShell commands that every Windows user should master, from basic navigation to advanced system management. By the end of this tutorial, you’ll have the confidence to leverage PowerShell’s powerful features for daily computing tasks.
Índice
- ¿Qué es PowerShell y por qué debería importarle?
- Primeros pasos: Abrir PowerShell
- Comandos esenciales de descubrimiento: Su brújula PowerShell
- Comandos de gestión de archivos y carpetas
- Información del sistema y gestión de procesos
- Comandos de solución de problemas de red
- Comandos de manipulación de contenidos y datos
- Trabajar con PowerShell Pipelines
- Gestión de fecha y hora
- Mejores prácticas esenciales de PowerShell
- Creación de su primer script PowerShell
- Ruta de aprendizaje avanzada de PowerShell
- Resolución de problemas comunes de PowerShell
- Conclusión: Potencie su experiencia Windows
¿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. Unlike the traditional Command Prompt, PowerShell uses a estructura sintáctica verbo-sustantivo que hace que los comandos sean intuitivos y legibles para el ser humano1. For example, 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. On Windows 11, the easiest method is:
- Type “PowerShell” en la barra de búsqueda de Windows
- Haga clic con el botón derecho del ratón en on “Windows PowerShell”
- Select “Run as administrator” 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 you’ll ever learn467. It provides comprehensive documentation for any cmdlet, function, or concept within 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
When you don’t know which command to use, 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-*
This approach is particularly helpful when you know what action you want to perform but aren’t sure of the exact command name.
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
is PowerShell’s equivalent to the 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 ls
, dir
o gci
como atajos10.
5. Set-Location: Navegar por directorios
Navega por tu sistema de archivos de forma eficiente con Fijar-Localización
10.
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 elemento
10.
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 elemento
especialmente 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ículo
1013.
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 proceso
4.
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
is PowerShell’s enhanced version of ping with additional capabilities1617.
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-NetIPAddress
1617.
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
PowerShell’s función de completado de pestañas acelera drásticamente la introducción de comandos17. Press Tab after typing partial command names, parameters, or file paths to auto-complete them.
Aprovechar los alias
PowerShell incluye muchas alias incorporados para comandos comunes5:
ls
odir
paraGet-ChildItem
cd
paraFijar-Localización
cat
otipo
paraObtener contenido
rm
odel
paraEliminar 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. To run scripts, you may need to modify the execution policy:
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
Once you’re comfortable with individual commands, you can combinarlos en guiones para la automatización2223. Here’s a simple example:
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
Once you’ve mastered these essential commands, consider exploring these advanced topics24:
- 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
If you encounter “execution of scripts is disabled” errors, check and modify your execution policy22:
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
When commands can’t find files or directories, verify your current location and use full paths:
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. The 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.
Whether you’re managing files, monitoring system performance, troubleshooting network issues, or automating repetitive tasks, PowerShell provides the tools you need to work more efficiently and effectively with Windows systems17. The investment in learning PowerShell pays dividends in increased productivity and enhanced system administration capabilities that will serve you throughout your computing career.