programing

성능 카운터에 액세스할 때 "레지스트리 키 'Global'에 대한 액세스가 거부됨"

itmemos 2023. 8. 15. 10:48
반응형

성능 카운터에 액세스할 때 "레지스트리 키 'Global'에 대한 액세스가 거부됨"

ASP에서 성능 카운터를 읽는 중입니다.NET 응용 프로그램.이 경우 "레지스트리 키 'Global'에 대한 액세스가 거부되었습니다." 오류가 발생합니다.

사용자를 사용하여 여기와 여기의 지침을 따르려고 했습니다.IIS AppPool\DefaultAppPool이 ID는 내 앱 풀이 사용하도록 구성된 ID입니다.

Screenshot of App Pool configuration

해당 사용자를 Performance Monitor Users 그룹에 추가했습니다.

enter image description here

그리고 사용자를 추가한 후 컴퓨터를 다시 시작했습니다.하지만 여전히 오류가 발생하고 있습니다.

IUSR 및 NETWORK SERVICE 사용자를 Performance Monitor Users 그룹에 추가해 보았지만, 이들도 작동하지 않습니다.필사적으로 성능 모니터 사용자 그룹에 "모두"라는 사용자를 추가하려고 했는데, 실제로 효과가 있었습니다.그러나 운영 중인 애플리케이션의 통계를 기록하는 것이 목표이며, 운영 서버의 해당 그룹에 "모든 사용자"를 추가하지는 않습니다.

보안 예외를 생성하지 않고 성능 카운터를 읽으려면 또 어떤 작업이 필요합니까?

해결책을 찾았어요반면에 인터넷 주변의 다양한 링크들은 당신에게 신원을 사용하라고 말합니다.IIS APPPOOL\DefaultAppPool그것이 전부가 아닙니다.애플리케이션을 "DefaultAppPool"이라는 이름의 앱 풀에 실제로 할당하는 경우에만 작동합니다.

ServerFault의 이 링크에 답이 있습니다.앱 풀의 이름을 사용해야 합니다.제 경우 앱 풀의 이름이 "staging"이었기 때문에 올바른 사용자는IIS APPPOOL\staging이 사용자를 성능 모니터 사용자 그룹에 포함시키면 문제가 해결되었습니다.

이 경우 Performance Users and Log(퍼포먼스 사용자 및 로그)에 올바른 애플리케이션 풀(웹 사이트에 사용한 풀)을 추가했지만 여전히 문제가 발생했습니다.제가 한 일은

  • 내 응용 프로그램 풀 중지
  • 웹 사이트에서 기본 앱 풀을 사용하도록 전환
  • 웹 사이트를 다시 시작했습니다.
  • 웹 사이트를 올바른 앱 풀로 다시 전환(중지됨)
  • 시작된 앱 풀
  • 웹 사이트를 다시 시작했습니다.

이 경우 동일한 포트 #에서 다른 Windows 서비스를 실행하고 있었는데 이 오류가 발생했습니다.오류에 전적으로 도움이 되는 것은 아니지만 그래도 마찬가지입니다.포트를 업데이트하여 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/17301640/access-to-the-registry-key-global-is-denied-when-accessing-performance-count

반응형