私はこの質問に行き詰まっています。
私は 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);
しかし、アカウントがローカル システムにアクセスできないため、なりすまし中にローカル システムにアクセスできません。
この状況でファイルをコピーするにはどうすればよいですか? バッファのようなものを使用して、偽装をオン/オフにする必要がありますか?