Я застрял с этим вопросом.
У меня есть общий ресурс UNC, я знаю данные учетной записи, которая имеет полный доступ, но у нее нет доступа к моей локальной системе.
Я могу получить доступ к удаленному UNC с:
var token = default(IntPtr);
var context = default(WindowsImpersonationContext);
LogonUser(_config.Username, _config.Domain, _config.Password, 2, 0, out token);
context = WindowsIdentity.Impersonate(token);
//TODO :: System.IO operations
File.Copy("remote-unc-path","local-path",true); // Exception : Access is denied.
context.Undo();
CloseHandle(token);
Но я не могу получить доступ к своей локальной системе во время олицетворения, потому что учетная запись не имеет к ней доступа.
Как скопировать файл в этой ситуации? Нужно ли использовать что-то вроде буфера и включать / выключать олицетворение?