マシンA(ドメインの一部ではない)からマシンB(ドメインの一部)にあるプログラムを実行しようとしています。次のコードを使用して、マシンBのAdministratorsグループの一部であるドメインユーザーを使用しようとすると、「RPCサーバーは利用できません」とスローされます。マシンBのAdministratorsグループの一部でもあるローカルユーザー「administrator」を使用すると、コードは正常に機能します。
ファイアウォールは両方のマシンで無効になっています。両方のユーザーを使用して、マシン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;