I have no avg on this pc, com calls are not disabled in mirc. And i should rephrase my comment about the examples in mirc help file, they do infact process to a point, but it seems whenever an if is used it returns false so the alias does not process fully. In the case of the 'drives' example it echo's the following, but the if $com(Services) and if $com(Instances) both return false.

* Opened Com 'Locator' (WbemScripting.SWbemLocator)
Com: 0
Result:
* Closed Com 'Locator'

The same seems to happen with the others (eg the /cpu example returns false for the if com services and more statements), so fails to return any useful information. The pattern here seems to be that any if $com(x) is false (likewise if !$com(x) is true) By removing the periods from your code i get this.

* Opened Com 'mirc.exe998556687' (WbemScripting.SWbemLocator)
* Closed Com 'mirc.exe998556687'
COM Error

So basically it at least reaches the comclose %a line, but must fail here with the $com() on the same line causing the if $com(%b) to be false and fail to call the proceding comclose and $com, which in return causes the if !$com(%a) to give the error. (at least this is best i can tell about where it goes wrong)

Dont go to any trouble with vbs, this thread mearly sparked an interest and an excuse to play with com objects through mirc. I read the tutorials i found on mircscripts.org and just wanted to experiment.

If i cant get it working on this pc its no big deal back to other projects.