Windows 서비스가 네트워크 공유에 액세스 할 수 없습니다


9

로컬 컴퓨터에서 Windows 서비스를 실행하고 있습니다. NT AUTHORITY \ NETWORK SERVICE에서 실행되도록 구성되었습니다. 프로그램은 동일한 서브넷에있는 컴퓨터의 네트워크 공유 드라이브에 액세스합니다. 해당 공유 디렉토리에는 Everyone이 모든 권한으로 설정되어 있습니다.

File.Exists ()에 False가 표시되지만 파일이 존재합니다. 나는 이것이 허가 문제라고 확신한다. 나는 아무것도 잊고 있습니까? 공유 드라이브가있는 컴퓨터는 도메인에 없습니다.

답변:


13

공유 드라이브가있는 머신이 도메인에 있지 않다는 것이 주요 문제입니다. 이 기능을 사용하려면 특정 사용자로 실행되도록 Windows 서비스를 구성한 다음 원격 시스템에서 동일한 암호를 사용하여 동일한 사용자를 만들어야합니다. 그때 작동 할 수 있습니다.

도메인이 아닌 머신에 로그인하려면 해당 머신에있는 계정을 사용하여 해당 머신에 로그인해야한다는 사실에서 문제가 발생합니다. 다른 로컬 머신에는 머신 계정이 존재하지 않습니다. 동일한 비밀번호로 동일한 사용자를 작성하면 로그인이 작동 할 수 있습니다.


2
감사합니다 sysadmin. 당신이 올바른지. 두 컴퓨터에서 동일한 계정을 만들면 제대로 작동합니다. 따라서 이상적인 상황은 네트워크 공유와 Windows 서버 (서비스가 실행중인)가 동일한 도메인에 있도록하는 것입니다. 그런 다음 서비스를 실행하고 공유에 액세스 할 수있는 도메인 사용자 계정을 만듭니다.
Brian T

네 확실합니다. 그들이 같은 영역에 있다면, 당신은 tony roth의 조언을 따를 수 있습니다. 네트워크 서비스처럼 설정 한 다음 컴퓨터 계정에 원격 컴퓨터에 대한 권한을 부여하십시오.
sysadmin1138

-1

로컬 시스템으로 실행하도록 변경 한 다음 공유 / NTFS 권한에 대한 올바른 권한에 machineaccount $를 지정하면 NTFS에서 강조 표시 될 사항도 확인해야합니다.


이놈은하지 도메인 부분에서 놓친
토니 로스

난 이해가 안 돼요; 원격 시스템의 공유 권한에 어떤 이름을 지정해야합니까?
Wilbert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.