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しておくと良さそう。