So kopieren Sie eine Datei von einem Server auf einen anderen, der sich in einer anderen Umgebung befindetC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 So kopieren Sie eine Datei von einem Server auf einen anderen, der sich in einer anderen Umgebung befindet

Post by Anonymous »

Ich möchte eine Datei mithilfe eines beliebigen Automatisierungsprozesses von einem Server auf einen anderen kopieren.

Beide Server befinden sich in unterschiedlichen Umgebungen, ich habe Zugriff auf beide Umgebungen.

z. B.
Server1 befindet sich in Umgebung1, Server2 in Umgebung2

und ich möchte kopieren Datei von Server1 C:\test\copy.txt nach Server2 C:\test\

Hinweis: Verwendung eines Windows-Servers.

Ich habe unten Code hinzugefügt. Damit kann ich die Datei kopieren, wenn sich beide Server im selben VPN befinden, aber in meinem Szenario befinden sich beide Server in unterschiedlichen VPN.

Code: Select all

    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();
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post