flohami
Goto Top

Skriptbasierte Ordnerspiegelung

Hallo zusammen,

Ich habe bei einem Kunden folgendes Problem:

Es gibt auf eine Netzlaufwerk 2 Ordner.
Im Ordner A sind Dienstpläne vorhanden welche von der Verwaltung bearbeitet bzw. weiter geführt werden.
Auf diesem Ordner hat nur die Verwaltung zugriff drauf.

Im Ordner B sind die aktuellen Dienstpläne vorhanden.

Durch das Ausführen einer batch Datei werden die Daten vom Ordner A in den Ordner B kopiert (die Vorhanden Daten werden überschrieben)

Jetzt gibt es ständig das Problem das dass Script nicht ausgeführt werden kann wenn im Ordner B eine Datei geöffnet ist.

Das ist das aktuelle Script.
C:\Robocopy\Robocopy.exe "\\Server\OrdnerA" "\\Server\OrdnerB" /MIR /LOG:"\\SERVER\OrdnerA\Datenlog.log" /TEE

Problematik ist das die neue "bessere" Lösung weiterhin eine Ein-Klick-Lösung sein muss.

Ich hoffe ich konnte das Problem verständlich erklären und das es Jemanden gibt mit einer idee.

Ich habe bereits den Parameter /ZB getestet leider hat dieser aber auch keine Besserung gebracht.

MFG

Content-Key: 510134

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

Printed on: April 23, 2024 at 09:04 o'clock

Member: erikro
erikro Oct 30, 2019 at 16:29:32 (UTC)
Goto Top
Moin,

mit der Powershell

get-smbopenfile -scopename DeinServer | %{close-smbopenfile -fileid $_.fileid -scopename DeinServer -force}

Das schließt alle offenen Dateien, auf die per SMB zugegriffen wird. ALLE! Für weitere Informationen, wie Du das einschränken kannst, guckst Du hier:
https://docs.microsoft.com/en-us/powershell/module/smbshare/get-smbopenf ...
https://docs.microsoft.com/en-us/powershell/module/smbshare/close-smbope ...

hth

Erik
Member: emeriks
emeriks Oct 30, 2019 at 17:20:29 (UTC)
Goto Top
Hi,
Zitat von @FloHami:
Durch das Ausführen einer batch Datei werden die Daten vom Ordner A in den Ordner B kopiert (die Vorhanden Daten werden überschrieben)
Warum die Kopie? Warum den Mitarbeitern nicht direkt Nur-Lese-Zugriff auf die Originaldateien erteilen?

E.
Member: emeriks
emeriks Oct 30, 2019 at 17:22:29 (UTC)
Goto Top
Zitat von @erikro:
Das schließt alle offenen Dateien, auf die per SMB zugegriffen wird. ALLE! Für weitere Informationen, wie Du das einschränken kannst, guckst Du hier:
Dafür benötigt der ausführende Benutzer aber Admin-Rechte auf dem Server, welcher die Freigabe bereitstellt. Das wird selten so gegeben sein.
Member: erikro
erikro Oct 30, 2019 at 19:13:31 (UTC)
Goto Top
Moin,

Zitat von @emeriks:

Zitat von @erikro:
Das schließt alle offenen Dateien, auf die per SMB zugegriffen wird. ALLE! Für weitere Informationen, wie Du das einschränken kannst, guckst Du hier:
Dafür benötigt der ausführende Benutzer aber Admin-Rechte auf dem Server, welcher die Freigabe bereitstellt. Das wird selten so gegeben sein.

Das stimmt. Deine Idee, den Usern Nur-Lese-Rechte zu geben, ist viel besser. Da wäre dann noch die Frage, um was für Dateien es sich handelt, wenn die Bearbeiter die immer offen lassen.

Liebe Grüße

Erik
Member: FloHami
FloHami Oct 31, 2019 updated at 08:47:13 (UTC)
Goto Top
Danke für die zahlreichen Ideen und Antworten.

Es handelt sich um eine .xlsx Datei sprich eine Excel Datei.
Wenn ich das mit den Berechtigungen so einrichte dann klappt das leider trotzdem nicht.
Wenn ich die Datei dann bearbeiten möchte dann wird mir auch angezeigt das die Datei noch von BenutzerX geöffnet ist und deswegen nicht bearbeitet / gespeichert werden kann.

Ich hoffe ihr habt vielleicht noch eine andere idee

Den Script von erikro ist leider nichts passendes.
Adminrechte vergeben ist keine Option.

MFG
Member: em-pie
em-pie Oct 31, 2019 at 09:04:20 (UTC)
Goto Top
Moin,

Wäre es eine Option, die Arbeitsmappe freizugeben?
Dann ist die Datei zwar nur beschränkt nutzbar (einfügen von Spalten geht z.B. nicht).


Dass das Überschreiben einer geöffneten Datei nicht möglich ist, sollte nachvollziehbar sein. Du kannst in einem Buch ja auch nicht korrigieren, wenn ein Leser es gerade zu lesen geöffnet hat;)
Office sperrt Dateien auch dann, wenn diese nur zum Lesen geöffnet wurden (was IMHO auch korrekt ist)

Gruß
em-pie
Member: FloHami
FloHami Oct 31, 2019 at 09:42:41 (UTC)
Goto Top
Mahlzeit,

Das ist leider auch keine Option.
Die Excel listen müssen weiterhin voll benutzbar sein.

Verstehen tue ich das natürlich ist für mich nachvollziehbar.
Ich hatte gehofft das man eventuell mit einem Script am besten vor der normalen Batch datei eine Befehl ausführt der im Ordner A und im Ordner B alle geöffneten Excel Datein schließt auf allen Pc´s im Netzwerk.
Aber das es ohne Admin rechte schwierig wird merke ich langsam selbst.
Ich glaube solch eine Lösung die ich gerne hätte gibt es nicht.

Gruß Flo
Member: erikro
erikro Oct 31, 2019 at 16:13:55 (UTC)
Goto Top
Moin,

Zitat von @FloHami:
Es handelt sich um eine .xlsx Datei sprich eine Excel Datei.

Das ahnte ich doch.

1. Rechte korrekt vergeben. Nur Bearbeiter haben Schreibrechte. Die, die lesen sollen, kriegen Leserechte auf den Ordner und die Dateien.
2. Einstellen, dass die Dateien mehrfach geöffnet werden dürfen. Überprüfen -> Arbeitsmappe freigeben -> Haken setzen.

Problem gelöst.

Ansonsten sollte man keine Datenbankprobleme mit Excel lösen. Aber das sage ich schon seit 30 Jahren und keiner hört auf mich. face-wink

Liebe Grüße

Erik