views:

33

answers:

1

Scenary

SO Windows 7

I need to connect to remot host via cisco vpn. Sometimes the host destination network is the same of local network. Example (Partial output of ipconfig command):

Ethernet adapter Cisco Vpn Adapter:
   IPv4 Address. . . . . . . . . . . : 192.168.100.12
   Subnet Mask . . . . . . . . . . . : 255.255.255.0

Wireless LAN adapter Wireless Network Connection:
   IPv4 Address. . . . . . . . . . . : 192.168.1.74
   Subnet Mask . . . . . . . . . . . : 255.255.255.0

I need to connect to host 192.168.1.11 on the remote network via Vpn Then I need to add new route (in this configuration all traffic to 192.168.1.xxx are route to local network) The output of route print begining by:

Interface List
 17...00 05 9a 3c 78 00 ......Cisco Systems VPN Adapter
 12...00 16 44 ea 74 58 ......Dell Wireless 1395 WLAN Mini-Card

And the command is:
route add 192.168.1.11 mask 255.255.255.255 192.168.100.12 metric 1 if 17

Problem:
The Ip on Cisco adapter is not static, i can't route add with modifier -p (permanent) When disconected and reconnect I need look for the NewIp and add the correct route:
route add 192.168.1.11 mask 255.255.255.255 «NewIP» metric 1 if 17
For me its easy (but boring) write all this commmands every time:

ipconfig  etc
route print etc
route add etc

I need a bat or powershell script to add the correct route. The scrip look for the ip on the Cisco adapter and run the command route add with Ip gateway founded.

Thanks

PD Sory my poor english

A: 

I solved it. (I'm a complete newbie in PowerShell, but problem is very simple)

$adapter=Get-WmiObject Win32_NetworkAdapterConfiguration|
    Where-Object { $_.Description -match "Cisco Systems VPN Adapter"}
$GateWay=$adapter.IPaddress[0] 
$if=$adapter.Index
route add 192.168.1.11 mask 255.255.255.255 $Gateway metric 1 if $if
renegm