It is possible to ping using a specific interface with ESXCLI, but not sure how you would loop this through every IP address.
~ # esxcli network diag ping --help
Usage: esxcli network diag ping [cmd options]
Description:
ping Send ICMP echo requests to network hosts.
Cmd options:
-c|--count=<long> Specify the number of packets to send.
-D|--debug VMKPing debug mode.
-d|--df Set DF bit on IPv4 packets.
-H|--host=<str> Specify the host to send packets to. (required)
-I|--interface=<str> Specify the outgoing interface.
-i|--interval=<str> Set the interval for sending packets in seconds.
-4|--ipv4 Ping with ICMPv4 echo requests.
-6|--ipv6 Ping with ICMPv6 echo requests.
--netstack=<str> Specify the TCP/IP netstack which the interface resides on
-N|--nexthop=<str> Override the system's default route selection, in dotted quad notation. (IPv4 only. Requires interface option)
-s|--size=<long> Set the payload size of the packets to send.
-t|--ttl=<long> Set IPv4 Time To Live or IPv6 Hop Limit
-W|--wait=<str> Set the timeout to wait if no responses are received in seconds.
~ #
Why don't you write a PowerShell script to do this as you will have a lot more flexibility, and can still use ESXCLI with the Get-Exscli cmdlet.
Cheers,
Jon