Contenidos
Estos ejercicios están diseñados para ayudarte a mejorar tus habilidades en PowerShell aplicadas a la administración de redes.
Ejercicio 1
Descripción: Escribe un script de PowerShell que obtenga la configuración de la dirección IP de todas las interfaces de red del sistema.
Solución:
1 2 |
# Obtener la configuración de la dirección IP de todas las interfaces de red Get-NetIPAddress |
Ejercicio 2
Descripción: Crea un script de PowerShell que realice un ping a una lista de direcciones IP o nombres de host y guarde los resultados en un archivo de texto.
Solución:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
param ( [string[]]$targets, [string]$outputFile = "PingResults.txt" ) # Verificar cada destino y guardar el resultado en un archivo de texto foreach ($target in $targets) { $result = Test-Connection -ComputerName $target -Count 1 -ErrorAction SilentlyContinue if ($result) { "$target está en línea." | Out-File -FilePath $outputFile -Append } else { "$target no responde." | Out-File -FilePath $outputFile -Append } } Write-Output "Resultados guardados en $outputFile" |
Ejercicio 3
Descripción: Escribe un script de PowerShell que obtenga la tabla de enrutamiento del sistema y la guarde en un archivo CSV.
Solución:
1 2 3 4 |
# Obtener la tabla de enrutamiento y guardarla en un archivo CSV Get-NetRoute | Export-Csv -Path "RoutingTable.csv" -NoTypeInformation Write-Output "Tabla de enrutamiento guardada en RoutingTable.csv" |
Ejercicio 4
Descripción: Crea un script de PowerShell que muestre todas las conexiones TCP activas en el sistema, incluyendo las direcciones IP locales y remotas, y los números de puerto.
Solución:
1 2 |
# Obtener todas las conexiones TCP activas Get-NetTCPConnection | Select-Object -Property LocalAddress, LocalPort, RemoteAddress, RemotePort, State |
Ejercicio 5
Descripción: Escribe un script de PowerShell que configure una dirección IP estática en una interfaz de red específica. El script debe aceptar la dirección IP, la máscara de subred y la puerta de enlace como parámetros.
Solución:
1 2 3 4 5 6 7 8 9 10 11 |
param ( [string]$interfaceAlias, [string]$ipAddress, [string]$subnetMask, [string]$gateway ) # Configurar la dirección IP estática New-NetIPAddress -InterfaceAlias $interfaceAlias -IPAddress $ipAddress -PrefixLength $subnetMask -DefaultGateway $gateway Write-Output "Dirección IP $ipAddress configurada en la interfaz $interfaceAlias" |
Ejercicio 6
Descripción: Escribe un script de PowerShell que obtenga la lista de todos los adaptadores de red y sus estados actuales (activado o desactivado).
Solución:
1 2 |
# Obtener la lista de todos los adaptadores de red y sus estados actuales Get-NetAdapter | Select-Object -Property Name, Status |
Ejercicio 7
Descripción: Crea un script de PowerShell que cambie las direcciones de servidor DNS en una interfaz de red específica. El script debe aceptar las nuevas direcciones de servidor DNS como parámetros.
Solución:
1 2 3 4 5 6 7 8 9 |
param ( [string]$interfaceAlias, [string[]]$dnsServers ) # Configurar las nuevas direcciones de servidor DNS Set-DnsClientServerAddress -InterfaceAlias $interfaceAlias -ServerAddresses $dnsServers Write-Output "Servidores DNS configurados en la interfaz $interfaceAlias: $($dnsServers -join ', ')" |
Ejercicio 8
Descripción: Escribe un script de PowerShell que monitoree el uso de ancho de banda de una interfaz de red específica y muestre el tráfico de entrada y salida en tiempo real.
Solución:
1 2 3 4 5 6 7 8 9 10 11 12 |
param ( [string]$interfaceAlias, [int]$interval = 5 ) while ($true) { $stats = Get-NetAdapterStatistics -Name $interfaceAlias $received = [math]::round($stats.ReceivedBytes / 1MB, 2) $sent = [math]::round($stats.SentBytes / 1MB, 2) Write-Host "Tráfico de entrada: $received MB, Tráfico de salida: $sent MB" Start-Sleep -Seconds $interval } |