Ejercicios scripts PowerShell. Redes

Seguimos con adaptadores y gestión de red

script9.ps1 Gestión de Red
Menú de gestión de redes
1. Mostrar información simple de todos los adaptadore de red
2. Mostrar información detallada de un adaptador (pide nombre de adaptador)
3. Activar/desactivar adaptador (pide nombre)
4. Configuración IP
5. Salir

Menú de configuración IP
A) Ver configuración actual
C) Comprobar conectivad a Internet
E) Cambiar con Conf. estática (pide IP, máscara, pta. enlace y DNS)
D) Cambiar con Conf. dinámica (Habilita las opciones oportunas)
V) Volver

Por cortesía de Sergio y Diego, os muestro 2 soluciones posibles, SIN funciones y CON FUNCIONES:
SIN FUNCIONES (SERGIO)

#Menú de gestión de redes
do{
$showmenu
clear-host
Write-Host "1--- Mostrar información simple de todos los adaptadore de red"
Write-Host "2---Mostrar información detallada de un adaptador (pide nombre de adaptador)"
Write-Host "3---Activar/desactivar adaptador (pide nombre)"
Write-Host "4---Configuración IP"
Write-Host "5---Salir"

$select= Read-Host "Seleccione una opción"

if ($select -eq 1){
    Get-NetAdapter
    }

if ($select -eq 2){
    $nombre= read-host "nombre de adaptador de red"
    Get-NetAdapter -name $nombre
}

if ($select -eq 3){
    $nombre2= read-host "nombre de adaptador de red"
    $act_des= read-host "deseas activar(a) o descativar(d)"
    if($act_des -eq "a"){
        enable-NetAdapter -name $nombre2
    }
    else{
        disable-NetAdapter -name $nombre2
    }
    }

if ($select -eq 4) {
#Menú de configuración IP
do {
clear-host


Write-Host "A---Ver configuración actual"
Write-Host "B---Comprobar conectivad a Internet"
Write-Host "C---Cambiar con Conf. estática (pide IP, máscara, pta. enlace y DNS)"
Write-Host "D---Cambiar con Conf. dinámica (Habilita las opciones oportunas)"
Write-Host "E---Volver"

$select1= Read-Host "Seleccione una A,B,C,D,E"

 if ($select1 -eq "A")
 {
     gip
 }

 if ($select1 -eq "B")
 {
Test-Connection www.google.es
 }

 if ($select1 -eq "C")
 {
    $ip= Read-Host "indica una ip"
    $pe= read-host "indica una puerta de enlace"
    $mask= Read-Host "indica una máscara"
    $dns=read-host "indica un DNS"
    Remove-NetIPAddress
    New-NetIPAddress -IPAddress $ip -PrefixLength $mask -DefaultGateway $pe -ServerAddresses $dns
 }

  if ($select1 -eq "D")
 {
   
    #Habría que pedir nombre de interfaz y seguir apuntes PDF
 }

   if ($select1 -ne "E")
 {
   
     Read-Host "Pulsa una tecla para continuar"
    }
} while ($select1 -ne "E")
}

 if ($select -ne 5)
 {
    Read-Host "Pulsa una tecla para continuar"
  }
    
} while ($select -ne 5)

     

CON FUNCIONES (DIEGO)

#Menú Gestión de Red

function principal{
do
{
clear-host
write-host ""
write-host ""
write-host "Menú Gestión de Red"
Write-Host "1.Mostrar información simple adaptador de red
2.Mostrar información detallada
3.Activar/Desactivar adaptador
4.Configuración IP
5.Salir"

$elegir=read-host "seleccione una opcion 1,2,3,4,5"

write-host ""

if ($elegir -eq 1)
{
Get-netadapter
Pause
write-host ""
write-host "Pulse para continuar..."

}

if ($elegir -eq 2)
{
$adap=read-host "Nombre del adaptador"
Get-netadapter -name $adap|ft
Pause
write-host ""
write-host "Pulse para continuar..."
clear-host
}

if ($elegir -eq 3)
{
acds
principal
}

if ($elegir -eq 4)
{
menuconfip
principal
}

if ($elegir -eq 5)
{
exit
}

}
while ($elige -le 5)

}

function acds {
clear-host
write-host ""
write-host "Desea activar o desactivar?"
write-host "1.Activar
2.Desactivar"

$eleg2=read-host "Seleccione una opcion 1,2"
write-host ""

if ($eleg2 -eq 1)
{
$adap=Read-Host "Nombre del adaptador"
enable-netadapter -Name $adap
}
else {
$adap=Read-Host "Nombre del adaptador"
Disable-netadapter -Name $adap
}

}

function menuconfip {

do {
clear-host
write-host ""
write-host "Menú de configuración IP"
write-host "A.Ver configuración actual
B.Comprobar conectividad a internet
C.Cambiar a conf.estática
D.Cambiar a conf.dinámica
E.Volver"

$eleg2=read-host "Seleccione una opcion A,B,C,D,E"
write-host ""

if ($eleg2 -eq "A"){
get-netIPConfiguration
Pause
write-host ""
write-host "Pulse para continuar..."

}

if ($eleg2 -eq "B"){
Test-Connection www.google.es
Pause
write-host ""
write-host "Pulse para continuar..."

}

if ($eleg2 -eq "C"){
$ip=Read-host "indique la IP"
$pe=Read-host "indique una puerta de enlace"
$masc=Read-host "indique la mascara"
$dns=Read-host "indique dns"
Remove-NetIPAddress
New-NetIPAddress -IPAddress $ip -Prefixlength $masc -DefaultGateway $pe -ServerAddresses $dns
Pause
write-host ""
write-host "Pulse para continuar..."

}

if ($eleg2 -eq "D"){
#Habría que pedir nombre de interfaz y seguir apuntes PDF
Pause
write-host ""
write-host "Pulse para continuar..."

}

}
while ($eleg2 -ne "E")

}

principal

Sé el primero en comentar

Deja un comentario