Set wmi = GetObject("winmgmts:root\cimv2")
Call JoinDomain("yourdomain.local","taro","pass")
Function JoinDomain(domain,user,pass)
'JOIN_DOMAIN = 1
'ACCT_CREATE = 2
flags = 1+2
For Each obj in wmi.InstancesOf("Win32_ComputerSystem")
If obj.JoinDomainOrWorkGroup(domain,pass,domain&"\"&user,"",flags)=0 Then
JoinDomain = True
Else
JoinDomain = False
End If
Next
End Function
戻り値Trueで成功。
MSDNのJoinDomainOrWorkGroupにあるとおり。これ以上便利な書き方にはならないと思う。
Win32_ComputerSystemが2つ以上のobjを返すかどうかはわからない。不安ならExit Forしておくと良さそう。