首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

为什么64位Vista不支持WMI的一些命令?解决方法

2012-01-30 
为什么64位Vista不支持WMI的一些命令?我想用WMI的JoinDomainOrWorkgroup方法来给机器加域,代码如下:Dimsea

为什么64位Vista不支持WMI的一些命令?
我想用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位的数据类型与32位的有很大差别的,你相应调整数据类型试试
[解决办法]
为什么64位Vista不支持WMI的一些命令? 

因为微软没做!
[解决办法]
同上...
[解决办法]
这事你必须得问微软.

可能当初有的C#程序员偷懒了吧,呵呵.

热点排行