![]() |
auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Hallo,
zum Kopieren von Dateien verwendet ich copyFile(PChar(aSrcFile),PChar(aDestFile),True); Das Programm soll aber jetzt auf ein Laufwerk kopieren, auf das der Benutzer keinen Zugriff hat. Das Programm kennt natürlich den Windows-Benutzer und das -Passwort, der Programm-Benutzer nicht. Bin für jeden Hinweis dankbar. Reinhold P. |
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Wo ist jetzt das Problem, deine konkrete Frage? wenn das Programm die Logindaten kennt, kann es sich doch zu dem Netzlaufwerk / Rechner verbinden und die Dateien kopieren. Bleibt allerdings die Sicherheitsfrage, wie dein programm die Daten kennt, aber der Benutzer nicht. Fest in die Exe mit einkompiliert? Sehr unsicher.
|
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
@Luckie: Das Laufwerk muss ja nicht unbedingt ein netzlaufwerk sein sondern kann auch einfach eine Partition einer lokalen Festplatte sein. Wie könnte man sich für den eigenen Prozess (wenn Nutzername und Passwort bekannt sind) die Rechte für diese Aktion holen?
|
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Gut, ist es kein Netzlaufwerk, dann geht es so:
![]() |
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Ich möchte im folgende die Anforderungen genauer beschreiben, weil sie (zugegeben) ungenau ist:
Es ist ein Netzlaufwerk, auf das der Benutzer keine Rechte hat, aber auf dem er über das Programm Ergebnisdateien ablegen soll. Er zieht die Dateien in das Programm hinein und das Programm schiebt sie auf dieses Laufwerk. Möglicher Ablauf: 1. Programm loggt sich auf Netzlaufwerk ein 2. Programm kopiert die Dateien 3. Programm loggt sich vom Netzlaufwerk wieder aus. Danke für Eure Hinweise. Reinhold P. |
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Bestehen auf diesem Rechner noch weitere Freigaben? Dann geht es so nicht, da Windows keine mehreren Anmeldungen vom gleichen unter verschiedenen Benutzern zulässt.
|
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Hallo Reinhold,
Zitat:
Dein Prog braucht das Laufwerk nicht mounten, Du kannst auch mit Zitat:
Wenn "Pfad" dann dem Benutzer Zugriffsrechte anbietet, kannst Du sogar kopieren ohne besondere Rechte. Man kann also auf Sub-Pfade zugreifen, auch wenn die darüberligenden es nicht erlauben würden, sofern die Sub-Pfade selbst es zulassen. Anderenfalls muss sich Dein Prog Adminrechte holen. |
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Ich hatte auch ein ähnliches Problem und habe es so gelöst.
Laufwerk verbinden:
Delphi-Quellcode:
Laufwerk trennen:
function Verbinden(Laufwerk: string; Pfad: string; Username: string; Password: string; RestoreAtLogon: Boolean): DWORD;
var NetResource: TNetResource; dwFlags: DWORD; begin if Laufwerk[length(Laufwerk)] = '\' then Laufwerk:=copy(Laufwerk,0,length(Laufwerk) - 1); if pos(':',Laufwerk) = 0 then Laufwerk:= Laufwerk + ':'; if Pfad[length(Pfad)] = '\' then Pfad:=copy(Pfad,0,length(Pfad) - 1); with NetResource do begin dwType := RESOURCETYPE_DISK; lpLocalName := PChar(Laufwerk); lpRemoteName := PChar(Pfad); lpProvider := nil; end; if (RestoreAtLogon) then dwFlags := CONNECT_UPDATE_PROFILE else dwFlags := 0; Result := WNetAddConnection2(NetResource, PChar(Password), PChar(Username), dwFlags); end;
Delphi-Quellcode:
Denke der Funktionaufruf muss nicht weiter beschrieben werden.
function Trennen(Laufwerk: string): DWORD;
begin if Laufwerk[length(Laufwerk)] = '\' then Laufwerk:=copy(Laufwerk,0,length(Laufwerk) - 1); Result := WNetCancelConnection2(PChar(Laufwerk),0,false); end; Vielleicht hilft dir das. |
Re: auf Laufwerk kopieren, auf das User keinen Zugriff hat?
Hallo Michael, hallo b1zZ,
vielen Dank für Eure Hilfe. Das mit dem Zitat:
Die zwei Funktionen von blzZ sind ja bereits im Einsatz und werde ich verwenden, da sofort einsatzfähig. SUPER. Danke. :-D Gruß Reinhold |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz