elgotto
Goto Top

PS - Dateien im Ordner löschen

Hallo in die Runde,

folgendes Problem:

Ich würde gern eine Art Löschordner für alle User in der Domäne anlegen, heißt, ein Ordner in den die User alle Files schieben können, die gelöscht werden sollen.

Das ist ja nun nicht das Problem - also einen Ordner anzulegen.

Jetzt soll aber jeden Tag jede Datei gelöscht werden, die mindestens 30 Tage in diesem Ordner liegt.
Gibt es dafür einen Workaround bzw. eine Script-Möglichkeit?
LastAccess- oder WriteTime kommen nicht in Frage, da manche Datei ewig nicht angefasst wurde. (bis auf das Verschieben)

Für Ideen wäre ich dankbar.

Content-Key: 5291150950

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

Printed on: May 16, 2024 at 05:05 o'clock

Mitglied: 3063370895
Solution 3063370895 Jan 11, 2023 updated at 14:39:14 (UTC)
Goto Top
Also wenn ich eine Datei verschiebe, ändert sich die LastAccessTime auf den Zeitpunkt des Verschiebens.

$Path = "C:\temp"  
$Days = "30"  
 
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays(-$Days)
Get-ChildItem $Path | Where-Object { $_.LastAccessTime -lt $DatetoDelete } | Remove-Item -Force
Member: DerMaddin
DerMaddin Jan 11, 2023 at 14:53:08 (UTC)
Goto Top
Ich sehe da auch keine Probleme, da LastAccessTime der Zeitpunkt des Erstellens ist, ganz egal ob die Datei per Drag&Drop (Aussschneiden&Einfügen) oder Kopieren&Löschen in den Ordner kommt.
Member: Hubert.N
Hubert.N Jan 11, 2023 at 15:20:00 (UTC)
Goto Top
Moin

oder ganz einfach ohne eigenes programmieren: DelAge

Gruß
Member: ElGotto
ElGotto Jan 12, 2023 at 08:47:11 (UTC)
Goto Top
Ich hatte es jetzt nochmal, gestern eigentlich auch schon, exemplarisch mit zwei Dateien versucht. Nach dem Verschieben blieb die LastAccessTime bestehen und änderte sich nicht.
Member: ElGotto
ElGotto Jan 12, 2023 at 08:51:59 (UTC)
Goto Top
Eine weitere Idee wäre, jeden neue Datei im Ordner automatisch einmal zu kopieren, während das Original gelöscht wird. Dann setzt man quasi ja ein CreationTime etc.
Dann bekommen die Kopien noch einen Identifier in den Namen, dass klar ist, dass die Datei schon kopiert wurde. So war jetzt meine Idee nach etwas Schlaf face-big-smile
Mitglied: 3063370895
3063370895 Jan 12, 2023 at 09:01:34 (UTC)
Goto Top
Ist LastAccessTime eventuell bei dir deaktiviert?

was gibt
fsutil behavior query disablelastaccess
auf dem entsprechendem System aus?
Member: ElGotto
ElGotto Jan 12, 2023 at 09:11:39 (UTC)
Goto Top
Das hier:

DisableLastAccess = 2 (Vom System verwaltet, Updates für letzte Zugriffszeit ENABLED)
Mitglied: 5175293307
Solution 5175293307 Jan 12, 2023 at 11:46:10 (UTC)
Goto Top
Schau dir auch mal die Lösung hier an, die ist wohl unabhängig von der LastAccessTime denn die kann ja ausgeschaltet sein
Script oder Tool zum Löschen von Dateien die mehr als X Tage im Ordner existieren
Oder man nimmt statt einem extra Skript den FSRM der hat das schon als Feature integriert ...
Powershell ältere Dateien löschen