2008-09-26 9 views
2

그래서 WMI 네임 스페이스에 포함 된 데이터 집합과 인터페이스하는 웹 서비스를 만들었습니다. 빌드 된 개발 웹 서버에서 ASP.net과 함께 실행하면 제대로 작동하고 요청 된대로 데이터를 반환합니다. 그러나 IIS 6 서버 (2003 년 획득)에 게시하면 웹 서비스에서 더 이상 WMI 메서드 호출을 실행할 수 없습니다. 그러나 그것은 나에게 아직도 그것을 읽게한다.WebService에서 WMI 호출

System.Management.ManagementException : System.Management.ManagementObject.InvokeMethod에서 System.Management.ManagementException.ThrowWithExtendedInfo (ManagementStatus 의 errorCode)에서 거부 액세스 (문자열

대신 그것은 나를 준다 methodName, ManagementBaseObject 에있는 inParameters, InvokeMethodOptions 옵션) System.Management.ManagementObject.InvokeMethod (String methodName, Object [] args)

나는 이것을 고치려고 노력했다. (그리고 나는 이것이 나쁜 습관이라는 것을 알고있다. 그러나 그것이 효과가 있는지 알고 싶다.) WMI 네임 스페이스 보안 설정에 "Everyone" 퍼미션 (실행 포함). 그런 다음 IIS를 다시 설정합니다. 그러나 나는 아직도이 오류가 발생합니다.

누구나 아이디어가 있습니까?

+0

명확히하기 위해 ... 모든 WMI 호출이 실패합니까? "그러나 그것은 여전히 ​​나를 읽게 해줍니다." ? – Kev

답변

3

IIS를 '적절한'사용자 계정으로 실행하면 작동합니다.

'모두'그룹이 '절대적으로 모든 사람'을 의미하는 것은 아니며 '모든 인증 된 사용자'를 의미합니다. 인증 할 수 없다면 여전히 모든 사람의 일부가 아닙니다. 네트워크 권한이 필요한 WMI 리소스를 사용하는 경우 여전히 실패합니다.

WMI에 액세스하는 것 외에도 IIS에없는 기본 계정 인 IIS가 실행되는 사용자 권한이 필요합니다.

+0

IIS를 실행할 수있는 서비스 계정은 무엇입니까? 일부 사용자가 실행 중입니다. –

0

글쎄, techinically, 모든 사람과 "Authenicated 사용자"가 다릅니다.

Everone에는 "guest"계정과 "guests"그룹 (null 및 익명 연결)이 포함됩니다. 모두 은 모두입니다. "인증 된 사용자"는 자격 증명을 제시 한 사람입니다. 약간 미묘하지만 중요합니다.

게스트가 사용 중지 된 경우 모든 사람이 "null"및 "익명"세션을 포함 할 수 있지만 모든 실제 목적이 동일하다고 생각합니다.