Laden...

eine mit File.Move kopierte Datei nimmt nicht die Sicherheitsattribute des Zielverzeichnisses an

Erstellt von klazim vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.284 Views
K
klazim Themenstarter:in
2 Beiträge seit 2018
vor 6 Jahren
eine mit File.Move kopierte Datei nimmt nicht die Sicherheitsattribute des Zielverzeichnisses an

einer eine Idee woran das liegen kann, das die mit File.Move kopierte Datei nicht die Sicherheitsattribute des Zielverzeichnisses annimmt.

Die Datei wird kopiert - funktioniert einbandfrei.

Das Zielverzeichnis hat für den aktuellen, angemeldeten User nur eingeschränkte (Lese-) Rechte,
der Kopiervorgang erfolgt durch eine C#-Anwendung die mit Admin-Rechten
unter einem anderen User-Account mit hilfe von Run as als Task läuft.

Meine Versuche entsprechend der MSDN-Doku nachträglich die mit

File.GetAccessControl(fileName)

von einer Datei mit den gewünschten Rechten dann mit

File.SetAccessControl(fileName, fSecurity);

zu setzen waren auch nicht erfolgreich es kommt auch keine Fehlermeldung beim debuggen.

16.807 Beiträge seit 2008
vor 6 Jahren

Vermutlich, da ich raten muss, meinst Du die File and Folder Permissions unter "Sicherheitsattribute".

File.Move interessieren diese nicht, da die Permissions ein Feature von NTFS sind.
Und in NTFS ist es so, dass Permissions sich hierarchisch ergeben. Daher interessiert das auch Move nicht.
Move verwendet hier auch nur die Win32 API.

How permissions are handled when you copy and move files and folders

Den Fall, dass SetAccessControl nichts meldet und es trotdem nichts setzt, den gibt es so eigentlich nicht.
Ohne Code von Dir bleibt einem aber nichts als raten.

K
klazim Themenstarter:in
2 Beiträge seit 2018
vor 6 Jahren

vielen Dank für den Hinweis:-) Problem gelöst

der folgende Abschnitt war sehr hilfreich;
aus (How permissions are handled when you copy and move files and folders)

beim File.Moven von anderen Volumes übernimmt windows die Sicherheitseinstellungen des Ordners für das File. (auf dem gleichen Volume nicht !)

You can modify how Windows Explorer handles permissions when objects are copied or moved to another NTFS volume. When you copy or move an object to another volume, the object inherits the permissions of its new folder. However, if you want to modify this behavior to preserve the original permissions, modify the registry as follows.