alias myips {
var %q = SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = "True"
var %err
.comopen loc WbemScripting.SWbemLocator
if ($comerr) {
%err = Failed to create SWbemLocator
}
elseif (!$com(loc, ConnectServer, 3, dispatch* ser) || $comerr) {
%err = Failed to connect to server
}
elseif (!$com(ser, ExecQuery, 3, bstr, %q, dispatch* res) || $comerr) {
%err = Failed to retrieve network adapters
}
else {
;; res is a reference to an Enumerator containing:
;; https://msdn.microsoft.com/en-us/library/aa394217(v=vs.85).aspx
;; mIRC returns nothing when referencing the IPAddress property
;; because its a non-supported type(array of strings)
echo -a $comval(res, 1, IPAddress)
}
:error
if ($error || %err) {
echo -a /myips: $v1
reseterror
}
.comclose lst
.comclose ser
.comclose loc
}