anchor.diff:  :#   2015-02-24 JFL Fixed the -i option for VPN interfaces without a MAC@.    #
   :#                  Updated -i to display all interfaces by default.          #
   :#   2020-09-03 JFL Fixed the virtual adapter detection for English.          #
  +:#   2020-10-13 JFL Also search the adapter name in the description field.    #
  +:#                  Added a special case for the Pulse Secure VPN.            #
  +:#   2020-10-15 JFL Generalized the ability to define alias names and types.  #
   :#                                                                            #
   :#          Copyright 2016 Hewlett Packard Enterprise Development LP         #
   :# Licensed under the Apache 2.0 license  www.apache.org/licenses/LICENSE-2.0 #
   :##############################################################################
   
   setlocal enableextensions enabledelayedexpansion
  -set "VERSION=2020-09-03"
  +set "VERSION=2020-10-15"
   set "SCRIPT=%~nx0"
   set "ARG0=%~f0"
  +
  +:# User-defined alias(es) for complex adapter names
  +set "ALIAS.NAMES=VPN" &:# Space-delimited list of alias names, each one used as index below
  +:# Define sets of variables ALIAS[name].NAME, ALIAS[name].TYPE, ALIAS[name].HELP
  +set "ALIAS[VPN].NAME=Juniper"	&:# The first word(s) in the adapter name
  +set "ALIAS[VPN].TYPE=Vir"	&:# One of: Eth Ppp Tun Vir Wir
  +set "ALIAS[VPN].HELP=The Juniper Networks Pulse Secure VPN virtual adapter"
   
   :# FOREACHLINE macro. (Change the delimiter to none to catch the whole lines.)
   set FOREACHLINE=for /f "delims="
  
positive.code:   )
  )
  echo.
  
  
negative.code: 	if "!prop:~-1!"==" " set "prop=!prop:~0,-1!"
  	%PUTVARS.D% prop val
  	:# Now check if the description identifies this as a virtual interface
  	if "!prop!"=="!description!" (
  	  set "ADAPTER[!NADAPTER!].DESC=!val!"
  	  if not "!val:Virtual=!"=="!val!" (
  	    %ECHO.D% It's a virtual adapter!
  	    set "ADAPTER[!NADAPTER!].TYPE=%type.Vir%"
  	  )
  	)
        )
      )
  