Interacción con el Sistema Operativo Windows - GUI vs CLI
🎨 Interfaz Gráfica de Usuario (GUI)
- 📌 Introducida en los años 70s (Xerox PARC).
- 💡 Adoptada por Apple y Microsoft para mejorar la usabilidad.
- 👤 Usuarios comunes casi nunca usan la línea de comandos.
- 🖱️ Ejemplos de administración con GUI:
- Active Directory
- Configuración de IIS
- Manejo de bases de datos
👉 Ventaja: No requiere memorizar comandos ni saber programar.
🌐 Protocolo de Escritorio Remoto (RDP)
- 🔑 Protocolo propietario de Microsoft.
- ⚡ Permite conectarse a un sistema remoto y usar su GUI.
- 📡 Funciona en puerto TCP 3389.
- 👥 Casos de uso:
- Administradores gestionan servidores de forma remota.
- Usuarios acceden a equipos de trabajo mediante VPN + RDP.
💻 Línea de Comandos en Windows
Los entornos CLI permiten:
- 🔧 Más control y flexibilidad.
- ⚙️ Automatización de tareas (ej: crear usuarios en masa).
- 🛠️ Herramientas principales:
- CMD (cmd.exe)
- PowerShell
📖 Recurso recomendado: Windows Command Reference de Microsoft.
⚫ CMD (Command Prompt)
- 📂 Ubicación:
C:\Windows\System32\cmd.exe - 🔑 Cómo abrirlo:
- Menú Inicio
Win+R→ escribircmd- Ejecutar binario directamente
- ⚡ Ejemplos de uso:
ipconfig→ ver configuración de redhelp→ ver lista de comandos
Ejemplo:
C:\htb> help
ASSOC Muestra o modifica asociaciones de extensiones.
ATTRIB Muestra o cambia atributos de archivos.
BCDEDIT Cambia propiedades de arranque.
CD Muestra o cambia el directorio actual.
CHKDSK Revisa un disco y muestra un reporte.
COPY Copia uno o más archivos.
🔍 Para ayuda específica:
C:\htb> help schtasks
🔷 PowerShell
-
📌 Basada en .NET Framework.
-
⚡ Más potente que CMD.
-
🛠️ Pensada para sysadmins y automatización.
-
💡 Soporta scripting avanzado + administración de Windows.
⚙️ Cmdlets
-
Forma: Verbo-Nombre
-
Ejemplos:
-
Get-ChildItem→ Lista archivos/carpetas -
Get-ChildItem -Recurse→ Incluye subdirectorios -
Get-ChildItem -Path C:\Users\Admin -Recurse→ Directorio específico
-
🏷️ Aliases
-
Set-Location→ aliascd/sl -
Get-ChildItem→ aliasls/gci
Ejemplo:
Get-Alias

👉 Crear alias propio:
New-Alias -Name "Show-Files" Get-ChildItem
📚 Help en PowerShell
-
Get-Help <cmdlet>→ ayuda básica -
Get-Help <cmdlet> -Online→ abre en navegador -
Update-Help→ descarga ayuda local
Ejemplo:
Get-Help Get-AppxPackage
📜 Running Scripts
-
🔹 PowerShell ISE → entorno para escribir/debuggear scripts.
-
🔹 Ejecución de scripts locales o cargados en memoria.
Ejemplo:
PS C:\htb> .\PowerView.ps1; Get-LocalGroup | fl
Importar módulo:
PS C:\htb> Import-Module .\PowerView.ps1
Listar módulos cargados:
Get-Module | select Name,ExportedCommands | fl
🔒 Execution Policy
Política de ejecución para scripts de PowerShell:
| Policy | Descripción |
|---|---|
| AllSigned | Scripts deben estar firmados por publicador confiable. |
| Bypass | Nada bloqueado, sin advertencias. |
| Default | Restricted en desktop, RemoteSigned en servidores. |
| RemoteSigned | Scripts locales sin firmar, remotos necesitan firma. |
| Restricted | Solo comandos individuales, no scripts. |
| Undefined | Si todo está en undefined → aplica Restricted. |
| Unrestricted | Scripts sin firmar permitidos (advertencia antes). |
Ver configuración actual:
Get-ExecutionPolicy -List
Ejemplo:
Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine RemoteSigned
Cambiar política para la sesión actual:
Set-ExecutionPolicy Bypass -Scope Process
