2013-02-22 2 views
1

내 환경이 Classic ASP입니다. 이벤트 로그에 이벤트를 기록하고 싶습니다 (어느 것이 든 상관 없습니다). 빠른 테스트 (아래 코드)를 작성하고 "Permission Denied"가 계속 나타납니다.WScript.Shell.Logevent를 사용할 때 "사용 권한이 거부되었습니다"오류가 발생했습니다.

const SUCCESS = 0 
const ERROR = 1 
const WARNING = 2 
const INFORMATION = 4 
const AUDIT_SUCCESS = 8 
const AUDIT_FAILURE = 16 

dim WshShell 
set WshShell = Server.CreateObject("WScript.Shell") 
wshshell.Logevent WARNING, "Test Event Log by Windows Script Host!" 
set wshshell=nothing 
Response.write "Event Logged Successfully by Windows Script Host!" 

나는이 문제에 대한 해결책을 온라인으로 찾고 어떤 종류의 대답을 발견했다. 불행히도, 그들의 해결책은 작동하지 않습니다. 그들은 말한다 :

다음 레지스트리 키를 1 대신 0으로 설정하고 컴퓨터를 다시 시작하여 변경 내용을 적용하십시오. HKLM \ System \ CurrentControlSet \ Services \ EventLog \ 응용 프로그램 이름 : RestrictGuestAccess 종류 : REG_DWORD 참고 : 이렇게하면 모든 게스트 계정이 응용 프로그램 이벤트 로그에 쓸 수 있습니다.

더 좋은 방법이 있나요? 또는 그 문제에 대한 진정한 해결책은 무엇입니까?

기본적으로 일부 Windows 이벤트 로그에 중요한 오류를 기록하여 모니터링 시스템에서이를 소비 할 수있게하려고합니다.

내 OS는 IIS 6.0을 사용하는 Windows Server 2003입니다.

실제 코드는 IIS 7.5가 설치된 Windows Server 2008 R2에서 실행됩니다.

OS 또는 IIS 웹 서버가 중요합니까?

+1

목표 OS 인 Win 2008에서 개발을 제안 해주십시오. 이 문제는 해결되지 않지만 코드를 배포하기 전에 잠재적 인 다른 문제를 발견하게됩니다. Win 2008은 Windows 2003보다 보안 측면에서 더 제한적입니다. –

+0

현재 내 환경을 포팅하는 중입니다. 이것은 내 손을 강요 할 수도있다. 나는 지금 당장 그것에 관해서이 질문을 세부 사항으로 업데이트 할 것이다. 고맙습니다! – crackedcornjimmy

답변

1

기존 ASP 및 COM 개체를 사용하여 처리하지 않아도됩니다. 오히려 SQL 저장 프로 시저 (2005 이상)를 작성하고 xp_logevent를 사용하여 이벤트 로그에 로그하십시오.

당신은 내가이 방법을 구현하면 http://msdn.microsoft.com/en-us/library/ms186244.aspx

에서이 작업을 수행하는 방법을 볼 수있는 모든 일을 내가 멀리 코딩 20 분 걸었다.

+1

앱용 SQL 서버를 원한다면 어떻게 될까요? – reidLinden

+0

다음 하나 가져 오기 ...;) – crackedcornjimmy