我想用WMI的JoinDomainOrWorkgroup方法来给机器加域,代码如下:Dim searcher As New ManagementObjectSearcher("select * from win32_computersystem")
Dim computerName As String = Nothing
For Each obj As ManagementObject In searcher.Get
computerName = obj("name")
Next
Console.WriteLine(computerName)
Dim computerSys As New ManagementObject("win32_computersystem=""" & computerName & """")
Dim inParams As ManagementBaseObject = computerSys.GetMethodParameters("JoinDomainOrWorkgroup")
inParams("Name") = "hslcn"
inParams("Password") = "41431337"
inParams("UserName") = "hslcn\fmeng"
inParams("FJoinOptions") = 1
Dim outParams As ManagementBaseObject = computerSys.InvokeMethod( _
"JoinDomainOrWorkgroup", inParams, Nothing)
Console.WriteLine(outParams("returnvalue"))以上代码在32位XP和32位Vista上都能成功,而在64位vista上返回值却是50(ERROR_NOT_SUPPORTED,The request is not supported. ),同时一些其他的WMI命令却可以执行,比如获得机器名、域名。请问这是怎么回事,在64位vista上怎么用WMI命令加域,谢谢了!
Dim computerName As String = Nothing
For Each obj As ManagementObject In searcher.Get
computerName = obj("name")
Next
Console.WriteLine(computerName)
Dim computerSys As New ManagementObject("win32_computersystem=""" & computerName & """")
Dim inParams As ManagementBaseObject = computerSys.GetMethodParameters("JoinDomainOrWorkgroup")
inParams("Name") = "hslcn"
inParams("Password") = "41431337"
inParams("UserName") = "hslcn\fmeng"
inParams("FJoinOptions") = 1
Dim outParams As ManagementBaseObject = computerSys.InvokeMethod( _
"JoinDomainOrWorkgroup", inParams, Nothing)
Console.WriteLine(outParams("returnvalue"))以上代码在32位XP和32位Vista上都能成功,而在64位vista上返回值却是50(ERROR_NOT_SUPPORTED,The request is not supported. ),同时一些其他的WMI命令却可以执行,比如获得机器名、域名。请问这是怎么回事,在64位vista上怎么用WMI命令加域,谢谢了!
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================
请问哪里有这方面的资料,谢谢了