Eu faria isso em duas fases:
Primeiro divida a entrada em um nome de usuário e uma senha com uma expressão regular
Option Explicit
dim re, matches, match, test
Set re = new regexp
re.pattern = "^((.*)\)?(.*)$"
for each test in array( _
"username", _
".\username", _
"localcomputername\username", _
"remotedomain.com\username")
Set matches = re.Execute(test)
for each match in matches
msgbox "domain: " & match.submatches(1) & vbNewLine & _
"username: " & match.submatches(2)
next
next
Em seguida, use um caso selecionado para tornar o nome de domínio válido:
dim localhost, testdomain, outputDomain
localhost = "192.168.0.1"
for each testDomain in array( _
".", _
localhost, _
"", _
"remotedomain.com")
select case testDomain
case localhost, "", "."
outputDomain = localhost
case else
outputDomain = testDomain
End Select
msgbox testDomain & " becomes " & outputDomain
Next
Combine esses dois e você terá seu script para obter o domínio e o nome de usuário.
Aviso: O código acima é testado em código de exame, mas você precisa adaptá-lo à sua situação específica.