Mostkowanie VirtualBox Przełączanie całego ruchu IP na wszystkich gości względem wszystkich hostów za pomocą skryptu nietoperza

0

Z „ Ustaw kartę sieciową do wyłącznego użytku gościa ” byłem w stanie uruchomić prywatną sieć z uruchomionym tfpt z systemu gościa (Windows Server 2003) lub systemu operacyjnego HOST (Windows Server 2012). To pozwala mi przeprowadzać bieżące i starsze testy oprogramowania w systemie wbudowanym.

Chcę mieć skrypt, który zaznacza / odznacza sterowniki na karcie NIC, którą łączę.

  • W systemie operacyjnym gościa chcę wyłączyć wszystko oprócz „Mostkowanego sterownika sieciowego VirtualBox NDIS6”. Obecnie robię to ręcznie.

  • Po przejściu na system operacyjny hosta chcę wyłączyć „VirtualBox NDIS6 Bridged Networking Driver” i włączyć wszystkie pozostałe sterowniki:

    • Klient sieci Microsoft Networks
    • Protokół internetowy w wersji 6 (TCP / IPv6)
    • Protokół internetowy w wersji 4 (TCP / IPv4)
    • ... (NetBios itp.)

Uważam, że powinienem być w stanie użyć „netsh ..” lub „wmic nic”. zrobić to. Do tej pory polecenie: zrzut interfejsu netsh> configA.dat i netsh -f configA.dat lub netsh -f configB.dat nie wprowadzają zmian ... Nadal muszę to zrobić ręcznie. Wszelkie pomysły, jak to rozwiązać?

Zrzut ekranu:

Zrzut ekranu właściwości połączenia lokalnego

Ross Youngblood
źródło

Odpowiedzi:

0

Oto wymyślony przeze mnie skrypt, który rozwiązuje dla mnie problem:

#######################################################################
# 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
Ross Youngblood
źródło