質問

だから、WMI名前空間に含まれるデータセットとインターフェイスするWebサービスを作成しました。ビルドされた開発WebサーバーのASP.netで実行すると正常に機能し、要求に応じてデータを返します。ただし、IIS 6サーバー(win 2003)に公開すると、WebサービスでWMIメソッド呼び出しを実行できなくなります。しかし、それでも私はそれから読むことができます。

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

  

System.Management.ManagementException:   アクセスが拒否されました   System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus   errorCode)at   System.Management.ManagementObject.InvokeMethod(String   methodName、ManagementBaseObject   inParameters、InvokeMethodOptions   オプション)   System.Management.ManagementObject.InvokeMethod(String   methodName、Object [] args)

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

アイデアはありますか?

役に立ちましたか?

解決

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

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

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

他のヒント

まあ、技術的には、みんなと「認証済みユーザー」異なっています。

Everoneには「ゲスト」が含まれます。アカウントと「ゲスト」グループ、ヌルおよび匿名接続。全員が 全員です。 "認証済みユーザー"資格情報を提示した人です。わずかに微妙ですが、重要です。

ゲストが無効になっている場合、実際にはすべての目的で同一であると考えられますが、誰もが「null」を含む場合があります。および「匿名」セッション。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top