为什么64位Vista不支持WMI的一些命令(例如JoinDomainOrWorkgroup)?
我想用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命令加域,谢谢了!
------解决方案--------------------在64位vista上,有部分的功能确实是不能用的。——不光是WMI,一些API的功能也都发生了变化的。
——没有亲自实验过,只是看到了一些资料介绍,所以也无法提出比较有创意的建议参考。
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================