ImpersonateLoggedOnUser
Windows API를 사용하여 현재 사용자를 가장 한 후 매핑 된 네트워크 드라이브 (사용자 세션에 매핑 됨)에 서비스를 액세스 할 수 있습니까?매핑 된 네트워크 드라이브가 가장을 통해
-2
A
답변
2
예, 불가능합니다. 드라이브 매핑은 대화 형 로그온 중에 만 설정됩니다. ImpersonateLoggedOnUser
함수는 사용자의 로그온 세션 전체를 가장하여 보안 컨텍스트로 가장합니다. 가장을 사용하여 수행 할 수없는 것은 one of the many things입니다.
난 당신이 (그들의 대화 형 프로세스 중 하나에서 얻은) 사용자의 로그인 토큰을 복제 한 다음 CreateProcessAsUser
함수를 호출하는 것을 사용하여이 작업을 수행 할 수있을 것 같아요. 그런 다음 매핑 된 네트워크 드라이브에서 작동하는 프로세스를 시작합니다. 나는 한번도 해 본 적이 없기 때문에 이것이 효과가 있다는 것을 확신 할 수는 없지만 이론적으로는 가능할 것 같습니다.
물론, 왜 그런 단호한 경로를 따라야하는지에 대한 질문을 제기합니다. 사용자의 대화 형 프로세스에서 코드를 실행하여 표준 Windows 응용 프로그램으로 시작하는 것이 현명하게 더 현명 할 것입니다.
이것은 서비스가하도록 설계된 것이 아닙니다. 서비스는 매핑 된 네트워크 드라이브를 지원하지 않습니다. 서비스 내에서 네트워크 리소스에 액세스하려면 UNC 경로 만 사용해야합니다.
관련 문제
- 1. 가장을 사용할 때 매핑 된 드라이브에 액세스
- 2. 매핑 된 네트워크 드라이브가 IShellFolder를 사용하여 연결이 끊어지면 어떻게 탐지합니까?
- 3. 매핑 된 네트워크 드라이브가 WMI를 사용하여 액세스 할 수 없습니다.
- 4. powershell에서 매핑 된 드라이브가 작동하지 않습니다.
- 5. 파일을 네트워크 공유로 이동 (가장을 통해) C#
- 6. 원격으로 장착 된 네트워크 드라이브가 작동하지 않습니다.
- 7. 네트워크 드라이브가 작동 여부를
- 8. 매핑 된 네트워크 드라이브
- 9. 매핑 된 네트워크 드라이브를 C#
- 10. 매핑 된 네트워크 드라이브의 FileSystemWatcher
- 11. Subversion 저장소의 매핑 된 드라이브가 파일 프로토콜을 사용하여 작동하지 않습니다.
- 12. vb.net 네트워크 드라이브가 지속적으로 매핑되는지 확인하는 방법
- 13. IIS7에서 호스팅되는 wcf 서비스에서 매핑 된 네트워크 드라이브에 액세스하십시오.
- 14. C#에서 네트워크 매핑 된 드라이브 VolumeLabel을 얻는 방법?
- 15. 경로가 Windows 매핑 된 네트워크 드라이브에 있는지 확인
- 16. ASP.NET - 매핑 된 네트워크 드라이브에 파일을 복사
- 17. 가장을
- 18. 로컬로 매핑 된 드라이브 네트워크 문자를 다른 문자로 바꿉니다.
- 19. 매핑 된 네트워크 드라이브에 액세스하는 중 문제가 발생했습니다.
- 20. 줄리아 내 매핑 된 네트워크 드라이브
- 21. WIX : 매핑 된 네트워크 드라이브에서 msi를 실행하십시오.
- 22. ColdFusion에서 매핑 된 네트워크 드라이브에 액세스
- 23. Powershell/Batch 네트워크 매핑 된 드라이브
- 24. 도메인에 연결된 경우에만 네트워크 드라이브 매핑
- 25. 매핑 된 네트워크를 여는 방법 Java를 사용하는 Windows 탐색기에서 드라이브
- 26. Google 드라이브가 포함 된 C#
- 27. 네트워크 장치 매핑 알고리즘
- 28. 매핑 된 네트워크 드라이브를 통해 연결된 서버를 통해 MS SQL Server 2012에서 SQLite 데이터베이스 업데이트
- 29. 명령 줄을 사용하여 네트워크 드라이브 매핑
- 30. 응용 프로그램에서 네트워크 드라이브가 존재하지 않지만 OpenFileDialog를 사용하여 찾았습니다.
다른 사람이 가장 할 때 잘못 될 수있는 단어가 몇 개 더 있습니다. [가장 할 때이 작업이 작동합니까? 기본 대답은 [아니오]입니다 (https://blogs.msdn.microsoft.com/oldnewthing/20110928-00/?p=9533). – IInspectable
감사! 나는 어떻게 든 그 블로그 포스트를 놓쳤거나 완전히 잊어 버렸습니다. 나는 Raymond가 이것에 관해 썼을 것으로 예상 했어야했다! 가시성을 높이기 위해 내 대답에 링크를 포함 시켰습니다. –
서비스에 대한 또 다른 권위있는 [출처] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms685143.aspx) 및 리디렉션 된 드라이브를 사용할 수없는 이유. ("[R] edirected 드라이브는 다른 사용자 계정으로 실행되는 프로세스간에 공유 할 수 없습니다.") – theB