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


133

이상한 문제가 있습니다. 배치 파일을 시작하는 작업을 예약했습니다. 옵션으로 작업을 실행하면 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.

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

1
@HansPassant, 훌륭합니다. 16 진수로 변환하고 마지막 4 바이트를 사용하여 오류 코드를 검색하십시오. 내가 그 하나를 기억할 수 있기를 바랍니다!
Mark Berry

FWIW 주 작업 스케줄러 UI에 '마지막 실행 결과'또는 이와 유사한 열이 포함 된 작업이 있으며 읽을 수있는 '디렉토리 이름이 잘못되었습니다'라는 오류 메시지가 표시됩니다. 우리 상황의 수정은 Start In 폴더에서 따옴표를 제거하는 것에 대한 아래 jp2code의 답변이었습니다.
Neek


1
@RJDunnill, 저를 태그 주셔서 감사합니다. 매우 도움이되었습니다!
마크 베리

답변:


253

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

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

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

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

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

작업 편집 대화 상자

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

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

명령 프롬프트 창


5
이 문제는 사용 권한과 관련이있었습니다. option을 사용하여 실행했을 때 Run whether user is logged on or not다른 사용자를 사용하여 응용 프로그램을 실행했습니다. 이 새 사용자에게는 데이터를 읽을 수있는 적절한 권한이 없으므로 오류가 발생했습니다. 감사.
Alok

1
나도 "허가"가 아니었다. 그것은이었다 에서 시작 폴더에 있습니다. 이 있으면 "C:\Some Path\"따옴표가 있기 때문에 잘못되었습니다. `C : \ Some Path` (따옴표없이)라고 말해야합니다.
jp2code

16
이것이 해결책입니다. 폴더 에서 시작 텍스트 상자 에서 따옴표를 제거하십시오 . 꽤 난해한 수정입니다. 시간 낭비-Microsoft가 유용한 오류로 더 쉽게 만들거 나이 명백한 버그를 수정했을 것입니다.
Joseph

6
그만한 가치가 있기 때문에이 오류가 발생하지만 폴더에서 시작 설정에 따옴표가 없으며 참조 된 경로가 존재하지 않습니다.
shufler

2
따옴표를 사용하지 않고 여전히 같은 문제가 발생합니다. @RayofCommand :이 문제의 해결책을 찾았습니까?
1551892

9

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

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

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


7

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


3

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

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


이것은 마침내 나를 위해 그것을했습니다. "Net Use"를 사용하여 서버 이름을 얻은 다음 ping하여 도메인 이름을 가져와야했습니다. 궁극적으로 \\ machine.domain.local \ app.exe였습니다. \\ Machine \ app.exe가 작동하지 않음
greg

나도 그랬어 감사!
Jace

2

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


3
안녕 마이크. 프로그래머 모드에서 Windows 계산기를 사용 2147942667하여 HEX : 로 변환 했습니다 0x8007010B. 해당 값은 제공 한 링크에 나타나지 않습니다. 물론 참고하십시오.
jp2code

4
나는 단지 그것을 구글했다 : 2147942667 in hex. 구글도 계산기입니다.
Baodad

0

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


0

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.