1

選択したサーバー上のすべてのサービスのリストを取得する Web アプリケーションを構築しました。アプリケーションで Windows 認証を有効にしました。vs2010 から実行すると問題なく動作しますが、ローカル マシン IIS に同じコードを展開すると、以下に示すようなエラーが発生します。また、いくつかの異なるユーザー マシンから Web サイトをテストして、同じエラーが発生するようにしました。これを修正する方法と、これを実現するために IIS で使用する必要がある設定についてのアイデア。私はすべてのサーバーにアクセスでき、アプリケーションをテストしたユーザーもそれらのサーバーにアクセスできます。

メッセージ: Cannot open Service Control Manager on computer ''. This operation might require other privileges.

Inner Exception: System.ComponentModel.Win32Exception (0x80004005): Access is denied

Stack Trace:    at System.ServiceProcess.ServiceController.GetDataBaseHandleWithAccess(String machineName, Int32 serviceControlManaqerAccess)
   at System.ServiceProcess.ServiceController.GetDataBaseHandleWithEnumerateAccess(String machineName)
   at System.ServiceProcess.ServiceController.GetServicesOfType(String machineName, Int32 serviceType)
   at System.ServiceProcess.ServiceController.GetServices(String machineName)
4

1 に答える 1

0

詳細情報がなければ、アプリケーションを実行しているアプリケーション プールの ID に、SCM にアクセスするための十分な権限がないようです。Web アプリで認証しているユーザーの資格情報を使用する場合は、偽装を使用する必要があります。

いくつかの質問 - なりすましを使用していますか? また、アプリケーション プールの ID を管理者に変更すると (これは長期的な解決策ではなく、単なるテストです)、エラーは解決しますか?

于 2012-09-12T17:18:21.297 に答える