You could rewrite your UDF to read in multiple lines by putting ReadLine() inside a DO - UNTIL loop and then return the result as an array. Then in your line calling the UDF just check the VarType()/UBound() of the returned result.

You might want to consider writing a UDF that gets all the properties in a single call instead of calling it multiple times and passing parms. Also, your UDF has dependencies on vars not local to the UDF which is not a best practice.

You may want to have a peek at the UDF CheckNICs() - Checks/Updates a NICs TCP/IP settings for ideas on how to do it without SHELLing out to DOS.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.