
Comandos imprescindibles del CMD para usuarios y diagnóstico
Aunque PowerShell es la evolución natural, el CMD sigue siendo fundamental en ciertos escenarios. Sus comandos básicos te ayudan a navegar, diagnosticar y reparar tu sistema cuando nada más funciona.
| Comando | Descripción |
|---|---|
| cd | Cambia el directorio actual. Usa cd.. para subir en la estructura de carpetas. |
| dir | Lista los archivos y carpetas del directorio actual. |
| tree | Muestra la estructura de directorios en forma de árbol. |
| copy | Copia archivos de un lugar a otro. |
| move | Mueve archivos entre ubicaciones. |
| del | Elimina archivos. |
| rename | Cambia el nombre de archivos. |
| systeminfo | Muestra detalles del sistema y hardware. |
| ipconfig | Proporciona información de red y direcciones IP. |
| ping | Comprueba la conectividad con otros dispositivos en la red. |
| shutdown | Permite apagar o reiniciar la máquina mediante comandos. |
| tasklist | Lista todos los procesos activos. |
| taskkill | Finaliza procesos en ejecución por la fuerza. |
Para ampliar información, usa comando /? y consulta las opciones disponibles para cada comando.
PowerShell es una herramienta de línea de comandos desarrollada por Microsoft para administrar sistemas, automatizar tareas, gestionar entornos entre otros. A diferencia de CMD, esta herramienta trabaja con objetos en lugar de con texto plano, por lo que permite realizar tareas más avanzadas que con CMD.
Comandos esenciales de PowerShell
Información del sistema
Además de identificar el hardware del equipo, permite también conocer el historial de comandos que hemos utilizado, algo que, en ocasiones, puede ser de mucha utilidad.
- Obtener ayuda powershellGet-Help
- Muestra información detallada del sistema Get-ComputerInfo
- Muestra la fecha y hora Get-Date
- Muestra el historial de comandos Get-History
- Limpia el historial Clear-History
Navegación y archivos
A través de PowerShell podemos movernos entre carpetas y realizar operaciones básicas con archivos como crear, copiar, mover e incluso eliminar archivos.
- Muestra la carpeta actual Get-Location
- Cambia de carpeta Set-Location C:Users
- Lista archivos y carpetas Get-ChildItem
- Busca archivos y carpetas dentro de subdirectorios Get-ChildItem -Recurse
- Crea un archivo New-Item archivo.txt
- Crea una carpeta New-Item -ItemType Directory MiCarpeta
- Copia archivos Copy-Item origen.txt destino.txt
- Mueve archivos Move-Item archivo.txt C:Destino
- Renombra archivos Rename-Item archivo.txt nuevo.txt
- Elimina un archivo Remove-Item archivo.txt
- Elimina una carpeta y todo su contenido Remove-Item carpeta -Recurse
Buscar y filtrar
También podemos hacer búsquedas de todo tipo aplicando filtros.
- Busca texto dentro de un archivo Select-String «error» archivo.log
- Filtra archivos por extensión Get-ChildItem *.txt
- Filtra procesos según el uso de CPU Get-Process | Where-Object {$_.CPU -gt 100}
- Ordena servicios por estado Get-Service | Sort-Object Status
Ver y modificar contenido
Con los siguientes comandos, podemos ver, modificar o añadir contenido dentro de los archivos sin tener que utilizar un editor de texto como el Bloc de notas.
- Muestra el contenido de un archivo Get-Content archivo.txt
- Muestra las últimas 20 líneas de un archivo Get-Content archivo.log -Tail 20
- Reemplaza el contenido completo de un archivo Set-Content archivo.txt «Hola»
- Añade texto al final de un archivo Add-Content archivo.txt «Nueva línea»
- Vacía un archivo sin eliminarlo Clear-Content archivo.txt
Procesos y servicios
Estos comandos son fundamentales cuando Windows está presentando problemas con determinadas aplicaciones colgadas y con procesos activos entre otros.
- Muestra procesos activos Get-Process
- Cierra un proceso Stop-Process -Name chrome
- Abre una aplicación Start-Process notepad
- Muestra servicios del sistema Get-Service
- Reinicia un servicio Restart-Service spooler
Conectividad y redes
Con PowerShell podemos diagnosticar problemas con la conexión de red e incluso con la conexión a internet.
- Realiza una prueba de conectividad (ping) Test-Connection hardzone.es
- Muestra las direcciones IP del equipo Get-NetIPAddress
- Consulta información DNS Resolve-DnsName hardzone.es
- Comprueba si un puerto está disponible Test-NetConnection hardzone.es -Port 8080
Get-NetIPAddress: Ver configuración IP
- 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»
Resolve-DnsName: Prueba de resolución DNS
Probar la resolución DNS y buscar información sobre dominios.
- 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
Utilizar el tabulador
de PowerShell función de completado de pestañas acelera drásticamente la introducción de comandos. Escribir nombres parciales de comandos, parámetros o rutas de archivos para autocompletarlos. Pulse Tab.
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 comando:
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 scripts. 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
powershell# Guardar como list-wifi.ps1
<#
.SYNOPSIS
Lists WIFI
.DESCRIPTION
Lista todas las redes guardadas WIFI networks.
.EXAMPLE
PS> ./list-wifi.ps1
#>
try {
& netsh wlan show profile
exit 0 # success
} catch {
«⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])»
exit 1
}
Ruta de aprendizaje avanzada de PowerShell
Una vez que domine estos comandos esenciales, considere la posibilidad de explorar estos temas avanzados:
- 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
Gestión avanzada: módulos y cmdlets específicos (DRDA, Hyper-V, etc.)
Existen módulos especializados que amplían las capacidades, permitiendo gestionar bases de datos (DRDA), máquinas virtuales (Hyper-V), Active Directory, y otros servicios complejos. Por ejemplo, el módulo Microsoft.HostIntegration.PowerShell ofrece numerosos comandos para administrar conexiones, servicios, trazas y codificaciones en entornos heterogéneos.
Algunos comandos avanzados destacados incluyen:
- Set-HisDrdaService y Get-HisDrdaService: Configuran y consultan el estado del servicio DRDA.
- Set-HisDrdaSqlServerConnection y Get-HisDrdaSqlServerConnection: Gestionan conexiones SQL Server en entornos integrados.
- Add-HisDrdaDatabaseAlias: Asigna alias a bases de datos enlazadas.
- Add-HisCustomCodePage: Añade codificaciones personalizadas para compatibilidad con sistemas legacy.
- Set-HisDrdaConsoleTraceListener: Configura la trazabilidad para depuración avanzada y análisis.