2

そこで、WMI 名前空間に含まれる一連のデータとやり取りする Web サービスを作成しました。ビルドされた開発 Web サーバーで ASP.net を使用して実行すると正常に動作し、要求どおりにデータを返します。しかし、IIS 6 サーバー (win 2003) に発行すると、Web サービスで WMI メソッド呼び出しを実行できなくなりました。ただし、それでも読むことができます。

代わりにそれは私に与えます:

System.Management.ManagementException: System.Management.ManagementObject.InvokeMethod(String methodName, ManagementBaseObject inParameters, InvokeMethodOptions options) の System.Management.ManagementObject.InvokeMethod(String methodName,オブジェクト [] 引数)

「Everyone」グループをその WMI 名前空間のセキュリティ設定に追加し、完全な権限 (実行を含む) を与えることで、これを修正しようとしました (これは悪い習慣であることはわかっていますが、それが機能するかどうかを確認したかっただけです)。 . 次に、IIS をリセットします。ただし、まだこのエラーが発生します。

誰でもアイデアはありますか?

4

2 に答える 2

3

「適切な」ユーザー アカウントとして IIS を実行すると動作するはずです。

「全員」グループは、「絶対に全員」という意味ではなく、「認証されたすべてのユーザー」を意味します。認証できない場合でも、あなたは全員の一部ではありません。ネットワーク権限を必要とする WMI リソースを探している場合でも、失敗します。

それ以外では、WMI にアクセスするには、IIS が実行されている既定のアカウントにはないユーザー権限が必要になる場合があります。

于 2008-09-27T00:29:18.607 に答える
0

まあ、技術的には、全員と「認証されたユーザー」は異なります。

Everone には、「guest」アカウントと「guests」グループ、null および匿名接続が含まれます。みんなみんなです。「認証済みユーザー」とは、資格情報を提示されたすべてのユーザーです。少し微妙ですが、重要です。

ゲストが無効になっている場合、すべての実用的な目的で同じであると思いますが、Everyone には「null」セッションと「匿名」セッションが含まれる場合があります。

于 2008-09-30T18:06:14.437 に答える