2010-04-30 15 views
7

In C# 2008, Ich versuche, eine Datei in einen Zielpfad (z. B. \ newserver \ destinationFolder) zu kopieren, die in einer anderen Domäne sein oder verwendet werden kann ein anderer Benutzername/Passwort als der aktuelle Benutzer. Wie kann ich diese neuen Netzwerkanmeldeinformationen angeben, bevor die File.Copy (...) ausgeführt wird?C# Datei in ein anderes Verzeichnis mit anderer Domäne/Benutzername/Passwort kopieren

Vielen Dank!

+1

möglich Duplikat http://stackoverflow.com/questions/158492/c-network-login –

Antwort

2

Gute Frage, aber ich denke nicht, dass das möglich ist. Ich glaube, dass diese Art der Dateikopie von einer Domäne zu einer anderen (wo keine Vertrauensstellung eingerichtet ist) als Sicherheitslücke betrachtet würde.

Einige Optionen:

  1. ein Vertrauen zwischen den Domänen einrichten und geben Rechte an den aktuellen Benutzer
  2. Sie könnten einen Shell versuchen Befehl ausführen und sehen, ob Sie diese Arbeit über Kommandozeilenparameter machen. Ich dachte "Net use" -Befehl.
0

MapDrive => Kopieren von Dateien als lokale Benutzer => UnmapDrive. Werfen Sie einen Blick here:

protected int MapDrive(){ 
     NETRESOURCEA[] resources = new NETRESOURCEA[1]; 
     resources[0] = new NETRESOURCEA(); 
     resources[0].dwType = 1; 
     int dwFlags = 1; 
     resources[0].lpLocalName = _DriveLetter; 
     resources[0].lpRemoteName = _Path; 
     resources[0].lpProvider = null; 
     int ret = WNetAddConnection2A(resources, null, null, dwFlags); 
     return ret; 
    } 

    protected int UnmapDrive() 
    { 
     int ret = WNetCancelConnection2A(_DriveLetter, 0, true); 
     return ret; 
    } 
Verwandte Themen