schottenrock
Goto Top

BATCH: Dateibesitzer mit kopieren

Hallo Zusammen,

ich brüte schon länger über folgenderm Problem:

In einem umfangreichen Batch-Ablauf werden zeitgetriggert alle PDF-Dateien im Verzeichnis "t:\Scan" bearbeitet. D.h. umwandeln in PNG, dann wird jedes PNG nach einem bestimmten QR-Code mit Qualifier durchsucht (XY;123456) und anhand Qualifier und Dokumentnummer mit entsprechenden Parametern einer automatischen Archivierung zugeführt. Klappt alles einwandfrei.

Es gibt aber auch Dokumente ohne QR-Code und die User leeren nicht regelmäßig das Fehlerverzeichnis. Da das Batch auf einem Server läuft, weil ich nicht, wer die Datei gespeichert hat. Daher hole ich mir den Dateibesitzer des Files. Im Fehlerfall möchte ich dem user eine Email senden.

Das funktioniert in der Theorie und solange die Dateien verschoben werden, geht der Dateibesitzer mit. Nun möchte ich aber zum Testen der neuen Funktion ein paar Testfiles kopieren. Und beim Kopieren werde immer ich Besitzer. Mit xcopy /o habe ich keinen Zugriff. Hat sonst noch jemand eine Idee, wie man den Dateibesitzer kopieren kann ohne Admin zu sein?

Sparsame Grüße vom Schottenrock face-smile

Content-Key: 644671

Url: https://administrator.de/contentid/644671

Printed on: April 25, 2024 at 15:04 o'clock

Member: Fennek11
Fennek11 Jan 26, 2021 at 11:56:27 (UTC)
Goto Top
Hallo,

vor kurzem habe ich einen Code gefunden (und nicht getestet), der den Besitzer einer Datei ausgeben soll. Es ist ein VBA-Code.

Function GetFileUser(FileDir As String, FileName As String) As String
Dim secUtil As Object
Dim secDesc As Object

Set secUtil = CreateObject("ADsSecurityUtility")  
Set secDesc = secUtil.GetSecurityDescriptor(FileDir & FileName, 1, 1)
GetFileUser = secDesc.owner
End Function

Kannst Du damit etwas anfangen?

mfg

(Code von "Flotter Feger")
Member: Schottenrock
Schottenrock Jan 26, 2021 updated at 12:16:47 (UTC)
Goto Top
@tagol.de:
Ich habe bereits umfangreich das Internet und Administrator.de durchsucht. Die Frage der richtigen Suchbegriffe ist natürlich entscheidend. Aber Deine Suchergebnisse sind auch nicht besser, als das, was ich bisher gefunden habe. Mir geht es ganz klar um "ohne Admin-Rechte". Bei Deinen Suchergebnissen bekomme ich ebenfalls die Meldung "Zugriff verweigert". Trortdem Danke für Deine Mühen. Wenn Du mir ein wenug Kritik erlaubst: als Suchender sind mir konkrete Lösungen wichtiger. Immer diese vereckte Hinweise auf google doch erst mal, bringen weder ich weiter noch denjenigen, der in Zukunft auf diesen Thread stösst und dann auch kein Ergebnis findet.

@Fennek11:
Danke, muss ich mal in Ruhe anschauen. Aber auslesen tue ich den User momentan mit dir/q, das in einer FOR-Schleife, dann kann ich Dateinamen und User jeweils aus einem Token auslesen. ICh müsste jetzt nebenher eine LOG-Datei mitschriebne, welcher Dateiname und User zusammengehören. Ich will aber eigentlich beim kopieren, den Dateibesitzer mitnehmen. Aber trotzdem vielen Dank.
Member: beidermachtvongreyscull
beidermachtvongreyscull Jan 26, 2021 at 15:06:40 (UTC)
Goto Top
Sehe ich auch so.
Member: Friemler
Friemler Jan 27, 2021 at 15:20:13 (UTC)
Goto Top
Hallo @Schottenrock,

der XCOPY-Befehl hat die Option /O, durch deren Verwendung

Informationen über den Besitzer und die ACL

mitkopiert werden sollen. Teste das doch mal.

Gruß
Friemler
Member: Schottenrock
Schottenrock Jan 28, 2021 at 15:15:04 (UTC)
Goto Top
Danke, aber xcopy /o habe ich schon versucht, Zugriff verweigert. Steht schon oben in der Frage 😉. Trotzdem danke!
Member: Friemler
Friemler Jan 28, 2021 at 18:47:35 (UTC)
Goto Top
Sorry, hätte Dein Eröffnungsposting wohl zu Ende lesen sollen...

Eine weitere Möglichkeit wäre die Verwendung von ROBOCOPY mit der Option /B oder /ZB und der Option /COPY:DATO oder /COPY:DATOS, siehe die Doku zu ROBOCOPY.

Voraussetzung dafür ist, dass der Benutzer, unter dem Dein Script läuft, zumindest Mitglied in der Gruppe der Sicherungsoperatoren ist.

Ist aber schon lange her, dass ich mich damit beschäftigt habe, bin mir deshalb nicht ganz sicher. Aber Versuch macht kluch.

Grüße
Friemler