我正在尝试从机器 A(不是域的一部分)执行机器 B(域的一部分)上的程序。当我尝试使用属于机器 B 的管理员组的域用户时,我有以下代码并抛出“RPC 服务器不可用”。当我使用本地用户“管理员”时,它也是机器 B 的管理员组的一部分,代码工作正常。
两台机器上的防火墙都被禁用。我可以使用这两个用户从机器 A 登录到机器 B。
你能帮我吗?
ConnectionOptions connectionOptions = new ConnectionOptions();
connectionOptions.Authority = "kerberos:" + domain + @"\" + machine;
connectionOptions.Impersonation = ImpersonationLevel.Impersonate;
connectionOptions.Authentication = AuthenticationLevel.PacketPrivacy;
connectionOptions.Username = username;
connectionOptions.Password = password;
ManagementScope scope = new ManagementScope(@"\\" + machine + "." + domain + @"\root\CIMV2", connectionOptions);
ManagementPath p = new ManagementPath("Win32_Process");
ManagementClass classInstance = new ManagementClass(scope, p, null);
ManagementClass startupSettings = new ManagementClass("Win32_ProcessStartup");
startupSettings.Scope = scope;
startupSettings["CreateFlags"] = 16777216;