Vorher anpingen.
Ein
WMI-Connect versucht genau das: zu verbinden. Und wenn der Zielrechner nicht erreichbar ist kommt der Aufruf eben erst nach dem Timeout zurück. Und so lange ist Dein Prozess blockiert. Da hast Du noch nichtmal Einfluss drauf.
Eine Idee wäre es allerhöchstens, mehrere Threads zu starten und einige Rechner gleichzeitig abzufragen. Dann laufen halt n Timeouts gleichzeitig ab und nicht nacheinander.