Puente de VirtualBox Conmutación de todo el tráfico IP a todos los invitados frente a todos los hosts a través del script bat

Puente de VirtualBox Conmutación de todo el tráfico IP a todos los invitados frente a todos los hosts a través del script bat

De "Configurar el adaptador de red para uso exclusivo de los invitados" Pude ejecutar una red privada iniciada con tfpt desde un sistema operativo invitado (Windows Server 2003) o el sistema operativo HOST (Windows Server 2012). Esto me permite ejecutar pruebas de software actuales y heredados en un sistema integrado.

Quiero tener un script que seleccione/deseleccione los controladores en la tarjeta NIC que estoy conectando.

  • Para el sistema operativo invitado, quiero desactivar todo excepto el "Controlador de red en puente VirtualBox NDIS6". Actualmente hago esto manualmente.

  • Cuando cambio al sistema operativo host, quiero desactivar el "Controlador de red en puente VirtualBox NDIS6" y habilitar todos los demás controladores:

    • Cliente para redes Microsoft
    • Protocolo de Internet versión 6 (TCP/IPv6)
    • Protocolo de Internet versión 4 (TCP/IPv4)
    • ...(NetBios, etc.)

Creo que debería poder utilizar "netsh..." o "wmic nic". para hacer esto. Hasta ahora el comando: netsh interface dump > configA.dat y netsh -f configA.dat o netsh -f configB.dat no realizan los cambios... Todavía tengo que hacer esto manualmente. ¿Alguna idea sobre cómo resolver esto?

Captura de pantalla:

Captura de pantalla de las propiedades de conexión de área local

Respuesta1

Este es el script que se me ocurrió y que me resuelve el problema:

#######################################################################
# SelectLAN.ps1
#
#  Simple? Windows PowerShell Script to select between 
#   1) Win2012 HOST system controlling 10.1.1.100 (Tester network)
#   2) Win2003 VirtualBox Guest Operating System controlling 10.1.100  (Tester network)
#
########################################################################
#
#  Revision History
#  0.0 10/18/2016  R.Youngblood 
#
########################################################################

function win2012 {
  ""  
  " Applying WIN2012 LAN Configuration"
  ""
  " Enabling Local Reciept of IPV4 and IPV6 packets"
  " Disable VirtualBox Driver"
  Get-NetAdapterBinding -InterfaceAlias "LAN2"
  Enable-NetAdapterBinding -Name "LAN2" -ComponentID     oracle_vboxnetlwf
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_rspndr
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_lltdio
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_implat
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_msclient
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID vflt
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_pacer 
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_server
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_tcpip
  Disable-NetAdapterBinding -Name "LAN2" -ComponentID ms_tcpip6 
}



function win2003VM {
   ""
   " Applying WIN2003 LAN Configuration"
   ""
   " Disable Local IPV4 and IPV6 Packet reciept"
   " Enable VirtualBox Driver"
   ""
   Get-NetAdapterBinding -InterfaceAlias "LAN2"
   Disable-NetAdapterBinding -Name "LAN2" -ComponentID oracle_vboxnetlwf
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_rspndr
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_lltdio
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_implat
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_msclient
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID vflt
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_pacer
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_server
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_tcpip
   Enable-NetAdapterBinding -Name "LAN2" -ComponentID ms_tcpip6
}





function endprint {
  " Final Network Adapter configuration:"
  Get-NetAdapterBinding -InterfaceAlias "LAN2"
  " -- Done"
}

cls
""
"IP Configuration"
""
" 1. Win2012                 Owns 10.1.1.100 IP"
" 2. Win2003 Virtual Machine Owns 10.1.1.100 IP"
""

$option = Read-Host -Prompt 'Enter your choice'
if ($option -eq 1 ) { win2012 }
if ($option -eq 2 ) { win2003VM }
endprint

información relacionada