2

以前は、以下のコードを使用して COM+ アプリケーションを取得し、アプリが実行されていることを確認していました。

COMAdmin.COMAdminCatalog catalog = new COMAdmin.COMAdminCatalogClass();
catalog.Connect(servername);
catalog.GetCollection("Applications")

ここで、同じアクションを実行する必要がありますが、他のドメインから実行する必要があります。上記のコードを実行しようとすると、認証エラーが発生します。WMI 経由で接続し、win32 wmi プロバイダーから COM+ アプリケーションのリストを取得しようとしましたが、それができないか、私のやり方が間違っているようです。

資格情報を使用して COMAdminCatalog からアプリケーションのリストを取得するのを手伝ってくれる人がいれば幸いです。

4

1 に答える 1

0

現在のスレッドで別のユーザーになりすます必要があります。

using (ImpersonatedUser user = new ImpersonatedUser("USER_NAME", "DOMAIN_NAME", "USER PASSWORD"))
{

    COMAdmin.COMAdminCatalog objCatalog = new COMAdmin.COMAdminCatalog();
    objCatalog.Connect("SERVER_NAME");

    COMAdmin.COMAdminCatalogCollection objAppCollection =
        (COMAdmin.COMAdminCatalogCollection) objCatalog.GetCollection("Applications");

    objAppCollection.Populate();

}

詳細については:

于 2016-06-30T21:33:14.207 に答える