You need to use an Impersonated User. With that impersonated user you acn copy to the second machine
IntPtr admin_token = default(IntPtr);
IntPtr dupToken = default(IntPtr);
WindowsIdentity wid_current = WindowsIdentity.GetCurrent();
WindowsIdentity wid_admin = null;
WindowsImpersonationContext wic = null;
string[] split = new string[1];
split[0] = "\\";
string[] temp = ServerName.Split(split, StringSplitOptions.RemoveEmptyEntries);
string domain = String.Empty;
string userName = ServerUserName;
string password = Password;
if (LogonUser(userName, domain, password, LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref admin_token) != 0)
{
if (DuplicateToken(admin_token, 2, out dupToken))
{
wid_admin = new WindowsIdentity(dupToken);
wic = wid_admin.Impersonate();
try
{
}
finally
{
if (wic != null)
{
wic.Undo();
}
if (admin_token != default(IntPtr))
CloseHandle(admin_token);
if (dupToken != default(IntPtr))
CloseHandle(dupToken);
}
}