Как скопировать файл с одного сервера на другой сервер, находящийся в другой среде?C#

Место общения программистов C#
Ответить
Anonymous
 Как скопировать файл с одного сервера на другой сервер, находящийся в другой среде?

Сообщение Anonymous »

Я хочу скопировать файл с одного сервера на другой, используя любой процесс автоматизации.
Оба сервера находятся в разной среде. У меня есть доступ к обеим средам.
Например: Сервер 1 находится в среде 1, сервер 2 — в среде 2.
Я хочу скопировать файл C:\test\copy.txt с сервера 1 в каталог C:\test\ сервера 2.
Примечание: при использовании Windows сервер.
Я добавил код ниже. Я могу скопировать файл, используя этот код, если оба сервера находятся в одной VPN, но в моем сценарии оба сервера находятся в разных VPN.
public void copyFile()
{
IntPtr admin_token = default(IntPtr);
WindowsIdentity wid_current = WindowsIdentity.GetCurrent();
WindowsIdentity wid_admin = null;
WindowsImpersonationContext wic = null;
try
{
Console.WriteLine("Copying file...");
if (LogonUser("LocalUsername", "LocalDomain", "LocalPass", 9, 0, ref admin_token) != 0)
{
wid_admin = new WindowsIdentity(admin_token);
wic = wid_admin.Impersonate();
System.IO.File.Copy("C:\\test\\copy.txt", "\\\\Server2\\test\\copy.txt", true);
Console.WriteLine("Copy succeeded");
}
else
{
Console.WriteLine("Copy Failed");
}
}
catch (System.Exception se)
{
int ret = Marshal.GetLastWin32Error();
Console.WriteLine(ret.ToString(), "Error code: " + ret.ToString());
Console.WriteLine(se.Message);
}
finally
{
if (wic != null)
{
wic.Undo();
}
Console.ReadLine();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/414 ... nt-environ
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»