Windows 서비스는 파일 공유로 복사 할 수 없습니다
-
21-08-2019 - |
문제
로컬 디렉토리에서 Samba 공유로 파일을 복사 할 Windows 서비스 세트가 있습니다.
서비스는 UNC 경로를 통해 서버로 연결됩니다 (예 : remoteserver shareddir).
서비스가 실행중인 사용자로 로그인했으며 UNC 경로를 사용하여 파일을 복사하고 Samba 공유에서 파일을 만들 수있었습니다.
그러나 서비스를 실행할 때 로그인 오류를 제안하는 IO 예외가 나타납니다. 해당 상자에서 프로세스 모니터를 실행하여 서비스를 보았고 UNC 경로를 찾는 것을 볼 수 있지만 공유에 글을 쓰려고 할 때 로그인 오류를 얻을 수 있습니다.
이것은 일반 바닐라 .net system.io.file.copy call을 사용합니다.
동일한 사용자에 로그인했을 때 공유에서 파일을 복사하고 만들 수있는 오류를 이해하지 못합니다.
어떤 아이디어?
편집 : 예외 텍스트
기본 처리 루프의 오류 (Dowork ()) : 로그온 실패 : 알 수없는 사용자 이름 또는 나쁜 비밀번호.
System.Exception : myService.processexporttransferfiledirectories 및 값의 오류 : D : Export, Recomoteserver intray, d : Export Archive ---> System.io.ioexception : 로그온 실패 : 알 수없는 사용자 이름 또는 나쁜 비밀번호.
at System.io.__ ERROR.WINIOERROR (int32 ERRORCODE, String OhavenFullPath)에서 system.io.__ error.winioerror () at System.io.file.move (String SourceFilename, String DestFilename)
at myservice.consumer.businesslogic.wmsfacade.MoveAnDarchiveFile (String SourceFolder, String TargetFolder, String ArchiveFolder, String Rootfolder, Logcategory logcategory, logcounter logcounter) --- myservice.consumentlogic.busincesslogic.busincesslogic.busincesslogic.busincesslogic.busincesslogic.busincesslogic.businiteslogic.busincesslogic.businiteslogic. myservice.consumer.businesslogic.wmsfacade.processexporttransfer (identicporteary`2 filedirectories)에서 myservice.core.core.core.core.core.core.core.core.core.core.core.core.core.core.
해결책
결국 권한 문제가되었습니다. Samba Share에서 설정된 다른 사용자로서 서비스를 실행 한 후에는 문제없이 파일을 복사했습니다.
다른 계정을 사용할 때 Windows Explorer를 사용하여 공유에서 파일을 복사/생성 할 수있는 이유를 여전히 이해하지 못하지만 서비스가 동일한 계정으로 실행될 때 공유에 전혀 액세스 할 수 없습니다.
다른 팁
먼저 드라이브를 매핑 한 다음 파일 사본을 공유 대신 매핑 된 드라이브로 수행하는 것이 좋습니다.
DOS Net Use 명령을 사용하여 드라이브를 매핑 할 수 있습니다. 예를 들어:
System.Diagnostics.Process.Start("net", "use h: \remoteserver\shareddir /User:domian\me password")
로그인 문제를 해결해야합니다.
상황에서 매우 유용한 도구는입니다 프로세스 모니터. 관리자로 실행하고 다음 필터를 추가하십시오.
Process Name is "your_process.exe" AND Operation is "CreateFile"
프로세스가 사용하려는 파일에 대한 자세한 정보가 표시됩니다.
언급했듯이 서비스가 실행중인 것과 동일한 계정으로 로그인하면 공유에 대한 파일을 복사하고 작성하는 데 아무런 문제가 없습니다. - 1 분 전에 OD
지역 보안 정책에서 서비스가 "서비스로 로그온"권한으로 실행중인 사용자 계정에 사용자 계정을 부여 했습니까?