我正在尝试使用 C# 以编程方式将 Windows 机器(服务器 2008 R2)添加到域中。我知道我有将机器添加到域的正确权限,因为我可以通过 Windows UI 手动添加它。我也知道我的 ManagementScope 是正确的,因为当我创建它时,我能够查询我想要的任何 WMI 对象。我正在尝试按如下方式连接:
ManagementClass computerSystem = new ManagementClass(scope, new ManagementPath("Win32_ComputerSystem"), new ObjectGetOptions());
ManagementObjectCollection computerSystemInstances = computerSystem.GetInstances();
ManagementObject baseObject = computerSystemInstances.ToList<ManagementObject>().First();
ManagementBaseObject inParams = baseObject.GetMethodParameters("JoinDomainOrWorkgroup");
inParams["Name"] = "my.domain.com";
inParams["Password"] = domainCredentials.FullUserName;
inParams["UserName"] = domainCredentials.Password;
inParams["FJoinOptions"] = 1;
var joinParams = baseObject.InvokeMethod("JoinDomainOrWorkgroup", inParams, null);
方法调用不会引发任何异常,但发现的错误代码值为joinParams.Properties["ReturnValue"].Value
1312。我在任何地方都找不到任何文档(即使在 Microsoft 的 MSDN 页面上也找不到该方法的任何文档)说明此错误代码的含义。有谁知道在哪里可以找到此错误代码的用途?