
문제는 AD가 아닌 도메인이 아닌 환경에서 Windows 2008r2 서버가 있는 네트워크의 최신 업데이트가 포함된 Windows 7 시스템에서 발생합니다.
파일 탐색기나 애플리케이션 내에서 저장된 자격 증명을 사용하여 \\server\share에 액세스할 수 있습니다. 서버 사용자의 계정 권한에 따라 읽기/쓰기 액세스 권한이 있습니다. 명령 창에서 "net use \\server\share"를 입력하면 몇 가지 세부 정보를 얻을 수 있고 이어서 "명령이 성공적으로 완료되었습니다"가 표시됩니다.
예약된 작업에서 시작된 CMD 배치 파일에서 net use \\server\share는 사용자 이름과 비밀번호를 묻는 메시지를 표시하므로 스크립트가 중단되는 경우가 있습니다.
실패한 일정 작업 창이 프롬프트와 함께 정지된 것을 볼 수 있습니다. 다른 명령 창을 실행하고 "net use \\server\share"를 입력하면 작동합니다.
중단된 작업을 찾아 명령 창에서 실행하면 다음과 같습니다.
작업 스케줄러에서 예약된 작업을 다시 실행하면 성공적으로 실행되며 Net Use가 중단되지 않습니다. 시스템에서 작업을 시작한 경우에만 로그인에 문제가 있는 것 같습니다.
net use에서 때때로 자격 증명(로컬 시스템에 저장됨)을 요구하는 이유는 무엇입니까? 이 일정 작업을 안정적으로 실행하려면 어떻게 해야 합니까?
답변1
문제는 최근 Windows 업데이트 이후 상승된 예약 작업이 시스템이 아닌 기본 사용자로 실행되고 있음에도 불구하고 더 이상 네트워크 액세스를 위해 저장된 자격 증명을 안정적으로 사용할 수 없다는 것입니다.
이 문제로 인해 컴퓨터에서 전역적으로 UAC를 비활성화하고 싶지 않았습니다. 작업의 CMD 파일에 사용자 이름과 비밀번호를 넣고 싶지 않았습니다.
이 작업을 위해 서버에 대해 구체적이고 제한된 권한을 가진 새 계정을 생성하는 절충 솔루션입니다. 이 작업에 필요한 특정 리소스에 대해 서버에 새 공유를 만들었습니다. (specialshare) 예약된 작업에서 기존 로그인을 삭제한 다음(가끔 존재하는 것 같기 때문에) 제한된 계정 자격 증명(CMD 파일에 있음)을 사용하여 서버에 연결합니다.
NET USE \\server /D
NET USE \\server /U:limiteduser junkpassword
... run the rest of the scheduled task, perform network access to \\server\specialshare...
NET USE \\server /D
이상적이지는 않지만 작동하는 것 같습니다. 더 나은 접근 방식이 있으면 의견을 말해주세요.