VB.NET 프로그램에서 파일 시스템에서 파일을 읽은 다음 다른 자격 증명을 사용하여 파일의 압축 된 버전을 원격의 안전한 파일 공유에 기록하려고합니다.프로그래밍 방식으로 파일 공유에서 "net use"를 수행 할 수 있습니까?
cmd를 프롬프트에서 유사한 동작은 다음과 같습니다
net use s: \\server\share /user:foo [email protected]
copy a+b | compress > s:\foo.bin
net use s: /delete
이 가능합니까? 방법? (압축과 파일 I/O에 대해 걱정할 필요가 없습니다. 보안 부분에 관심이 있습니다.)
WindowsImpersonationContext
으로해야합니까?
편집 : 네가 맞아, 드라이브를 매핑하고 싶지는 않습니다. 내가하고 싶은 일은 기본 자격 증명이 아닌 자격 증명으로 공유에 액세스하는 것입니다. 앱은 모든 종류의 사용자에 의해 실행되며 공유에 대한 쓰기 권한이 정상적으로 부여되지 않습니다. 이 단일 파일의 목적을 위해 사용자가 공유에 쓸 수 있도록하고 싶습니다.
그럼 대체 자격 증명을 사용하여 공유에 하나의 파일을 쓰려면 어떻게해야합니까? 압축에 대한 입력으로 작동하는 파일을 읽으려면 기본 자격 증명이나 ID가 필요합니다.
UserX reads files a1 and b1 as UserX, writes file c1 as UserA
UserY reads files a2 and b2 as UserY, writes file c2 as UserA
이 의미가 있습니까?
공유에 직접 파일을 만들 수 있음을 알고 있습니다. 문제는 대체 자격 증명을 사용하여이를 수행하는 방법입니다. 공유를 만들 때 alt cred를 전달하는 방법을 알고 있으므로 공유를 만드는 아이디어를 소개했습니다. 나는 이 실제로는에 공유가 필요하지 않습니다. 왜냐하면 그것은 하나의 파일에 대해서만 그리고 프로그램 내에서만 이루어지기 때문입니다.
그리고 먼저 파일을 만든 다음 파일을 공유에 복사 할 수 있음을 알고 있습니다. 큰 파일이기 때문에 한 번 스트리밍하고 싶습니다.
http://www.mredkj.com/vbnet/vbnetmapdrive.html에서 내가 매핑보다는 서버 \ 공유 \ myfile.text을 \\에 직접 파일을 복사 할 \\ server \ share를 s :로 복사 한 다음 s : myfile.text로 복사합니다. 다른 이유로는 아니지만이 방식으로 사용자 구성을 엉망으로 만들 때 문제를 유발할 수 있습니다 (이미 매핑되어 있습니까? 연결을 끊기 전에 무언가가 실패하면 어떻게됩니까?) –