2017-01-13 6 views
0

MSMQ 6.3.9600은 Windows Server 2012 R2 Standard에 있습니다. 메시지 큐, 메시지 큐 트리거 및 디렉터리 서비스 통합이 설치되었습니다. 메시지 큐 및 메시지 큐 트리거 서비스는 "네트워크 서비스"에서 실행됩니다.MSMQ 트리거 EXE가 실행되지 않습니다.

우리는 비공개 공용 대기열 (예 : Test)을 만들었습니다. 재산권> 테스트 - 보안, 내가 네트워크 서비스 등의 메시지, 메시지보기를 수신 포함 "모든 권한"을 부여했다

테스트 큐는 트리거와 가지고이 myServer : -Queue 경로 이름 TestRule 라는 -1 규칙 \ 테스트 -Enabled : 예 -Serialized : 없음 -message 처리 유형 : 엿보기 메시지

TestRule : - 규칙 조건 : 메시지 레이블 "가 포함되어 있지 않습니다 @@@@@@@@@@@@@ @@@ " -Rule 동작 : 독립 실행 형 실행 파일 (EXE) C : \ myFolder \ myProgram.exe를 호출합니다. 이 VB.NET 프로그램은 .NET Framework 4.0으로 작성되었습니다. 매개 변수 : 호출 매개 변수 : 메시지 ID (변형)

myProgram.exe 속성> 보안의 Windows 탐색기에서 프로그램 및 해당 폴더에 네트워크 서비스 "모든 권한"을 부여했습니다.

테스트 대기열로 메시지를 보내면 (테스트 대기열에있는 메시지가 표시됨) 작업 관리자에서 myProgram.exe가 표시되지만 실행되지 않습니다. 메시지 레이블에는 확실히 "@@@@@@@@@@@@@@@@"이 포함되어 있지 않으므로 트리거 조건을 만족해야합니다. myProgram.exe Form_Load에서 로그 파일에 즉시 쓰고 로그 파일이 만들어지지 않습니다. 또한 이벤트 뷰어에 메시지를 쓰려고하는데 이벤트 뷰어에 해당 메시지가 표시되지 않습니다.

수동으로 myProgram.exe를 실행할 수 있습니다 (dbl을 exe 또는 "실행"클릭)하고 정상적으로 실행됩니다.

Message Queuing 서비스를 다시 시작했지만 (메시지 대기열 트리거 서비스도 시작 함) myProgram.exe는 여전히 실행되지 않습니다.

동일한 설정이 다른 2 대의 서버에서 작동합니다 (myProgram.exe가 실행되고 다른 2 대의 서버에서 실행 됨).이 서버에서는 작동하지 않습니다.

확인할 사항이 더 있습니까? 감사합니다.

답변

0

작업 관리자에서 myProgram.exe를 볼 수 있으면 트리거가 작동하고 응용 프로그램이 실행되었습니다. 문제는 로그온 한 사용자의 컨텍스트에서로드 할 때 작업을 수행 할 수 있기 때문에 응용 프로그램이 원하는 작업을 수행 할 권한이없는 것일 수 있습니다.

+1

프로그램이 실행되었지만 즉시 EventViewer에 쓸 수 없기 때문에 오류가 발생했습니다 (오류 처리도 EventViewer에 쓰려고 시도했지만 오류가 발생하여 오류가 표시되지 않음). 오류가 발생했습니다. "원본을 찾을 수 없지만 일부 또는 모든 이벤트 로그를 검색 할 수 없습니다. 원본을 만들려면 모든 이벤트 로그를 읽을 수있는 권한이 있어야 새 원본 이름이 고유한지 확인하십시오. 액세스 할 수없는 로그 : 보안." 현재 메시지 큐 트리거 서비스는 네트워크 서비스를 사용하여 실행됩니다. 서비스 계정 (서버의 로컬 관리자)을 사용하여 실행되도록 변경하고 작동하는지 확인합니다. – faujong