[windows-7] Windows 7 작업 스케줄러 작업이 오류 2147942667과 함께 실패하는 이유

이상한 문제가 있습니다. 배치 파일을 시작하는 작업을 예약했습니다. 옵션으로 작업을 실행하면 Run only when user is logged on모든 것이 잘 작동합니다. 그러나 나는이 작업을 백그라운드에서 실행하고 싶기 때문에 옵션을 사용하여 실행하고 있습니다 Run whether user is logged on or not. 이제 작업을 실행할 때 작동하지 않습니다. 다음과 같은 2 가지 오류가 발생합니다. 이 오류를 이해하지 못합니다. 이 문제를 해결하도록 도와주세요.

 Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667.
 Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon"  task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667.



답변

나는이 같은 문제가 있었다.

나를위한 솔루션은 Microsoft 기술 자료 문서 2452723에 나와 있습니다.

“시작 (선택 사항)”필드의 경로에 따옴표가 있으면 Windows Vista 이후 예약 된 작업이 실행되지 않습니다.

기본적으로 예약 된 작업을 편집하고 시작 필드에서 따옴표를 가져옵니다.

  1. 예약 된 작업을 엽니 다
  2. “작업”탭으로 전환
  3. 당신의 행동을여십시오
  4. “시작 (선택 사항)”필드에서 따옴표 ( “)를 제거하십시오.
  5. 열려있는 모든 대화 상자를 저장하고 닫습니다.

작업 편집 대화 상자

관련 오류 메시지를 얻으려면

1) 2147942667을 16 진수로 변환 : 8007010B
2) 마지막 4 자리 ( 010B )를 가져와 소수로 변환 : 267
3) 실행 : net helpmsg 267
4) 결과 : “디렉토리 이름이 유효하지 않습니다.”

명령 프롬프트 창


답변

나를 위해 그것은 “시작”-이전 서버에서 값을 복사하고 새 .exe 위치로 경로를 업데이트했지만 “시작”위치를 업데이트하는 것을 잊었습니다-존재하지 않는 경우 이 오류도 얻을

이 문제를 디버깅하는 데 가치가 있기 때문에 위에서 @ hans-passant의 의견을 인용하십시오.

오류 코드를 16 진수로 변환하여 0x8007010B를 얻습니다. 7은 Windows 오류입니다. 010B 오류 코드를 267로 만듭니다. “디렉토리 이름이 유효하지 않습니다.” 물론입니다.


답변

여러 가지 이유로 발생할 수 있습니다. 제 경우에는 권한 문제로 인해 발생했습니다. 작업을 실행중인 사용자에게 logs 디렉토리에 쓸 수있는 권한이 없으므로이 오류로 실패했습니다.


답변

Windows7에서도 같은 문제가있었습니다.

2147942667 오류가 발생하여 c : \ windows \ system32 \ CMD.EXE를 실행할 수 없다는 보고서가 표시되었습니다. 스크립트와 시작에서 큰 따옴표를 사용하거나 사용하지 않고 시도했지만 아무런 차이가 없었습니다. 그런 다음 모든 경로 참조를 매핑 된 네트워크 드라이브 및 UNC 참조 (\ Server1 \ Sharexx \ my_scripts \ run_this.cmd)로 바꾸려고 시도하여 해결했습니다. 가볍게 두드리기.


답변

보다 일반적인 대답을 보려면 오류 값을 16 진수로 변환 한 다음 Windows 작업 스케줄러 오류 및 성공 상수 에서 16 진수 값을 찾으십시오.


답변

나를 위해 그것은 “시작”-실수로 내 프로그램 이름의 끝에 ‘.py’에 남아 있습니다. 그리고 폴더 이름 ( ‘앱’)을 대문자로 잊어 버렸습니다.


답변

나에게 이것은 사용자 PATH 환경 변수 때문이었습니다. 사용자 변수가 정확하더라도 작동하지 않는 것처럼 보이므로 전체 실행 파일 경로를 프로그램 필드에 넣어야했습니다.