Transferlaufwerk wöchentlich bereinigen
Hallo zusammen,
Ich möchte ein Netzlaufwerk zur Verfügung stellen, welches als Transferlaufwerk fungiert. (Entlastung des internen Mail Verkehrs)
Damit das Laufwerk nicht als Daten Friedhof benutzt wird, möchte ich alles, bis auf die vorgegebene Struktur löschen, sodass die Nutzer
am Montag Morgen wieder ein sauberes Laufwerk haben.
Jetzt zu meiner Frage.
Wie lösche ich die Daten ohne die Struktur anfassen zu müssen.
Vielleicht hat ja jemand ne schöne Idee
Danke im Voraus
Gruss
Ich möchte ein Netzlaufwerk zur Verfügung stellen, welches als Transferlaufwerk fungiert. (Entlastung des internen Mail Verkehrs)
Damit das Laufwerk nicht als Daten Friedhof benutzt wird, möchte ich alles, bis auf die vorgegebene Struktur löschen, sodass die Nutzer
am Montag Morgen wieder ein sauberes Laufwerk haben.
Jetzt zu meiner Frage.
Wie lösche ich die Daten ohne die Struktur anfassen zu müssen.
Vielleicht hat ja jemand ne schöne Idee
Danke im Voraus
Gruss
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 375313
Url: https://administrator.de/contentid/375313
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
5 Kommentare
Neuester Kommentar
Zitat von @anquietas:
Damit das Laufwerk nicht als Daten Friedhof benutzt wird, möchte ich alles, bis auf die vorgegebene Struktur löschen, sodass die Nutzer
am Montag Morgen wieder ein sauberes Laufwerk haben.
Damit das Laufwerk nicht als Daten Friedhof benutzt wird, möchte ich alles, bis auf die vorgegebene Struktur löschen, sodass die Nutzer
am Montag Morgen wieder ein sauberes Laufwerk haben.
Was für eine Struktur? Ornderstruktur? Dateistruktur? Links?
Wie lösche ich die Daten ohne die Struktur anfassen zu müssen.
Wenn Du einach nur die Ordner behalten willst un dalles andere löschen, kannst Du einfach in einer Forschleife alle Elemente in diesem Laufwerk durchgehen und alles was kein ordner ist löschen.
Tipp: https://docs.microsoft.com/de-de/powershell/scripting/getting-started/co ...
lks
Hi,
am einfachsten mit Robocopy.
Du hast den freigebenen Ordner "D:\ShareA" und einen Vorlageordner "D:\TemplateA".
Auf dem Server einen Scheduled Task laufen lassen, z.B. immer Samstags.
In TemplateA pflegst Du die Struktur, wie sie aussehen soll. Da kannst Du sogar mit Berechtigungen arbeiten.
E.
am einfachsten mit Robocopy.
Du hast den freigebenen Ordner "D:\ShareA" und einen Vorlageordner "D:\TemplateA".
Auf dem Server einen Scheduled Task laufen lassen, z.B. immer Samstags.
robocopy D:\TemplateA D:\ShareA /MIR /B /COPYALL /R:0 /W:0
In TemplateA pflegst Du die Struktur, wie sie aussehen soll. Da kannst Du sogar mit Berechtigungen arbeiten.
E.
Ich hab das in Powershell abgebildet, das Script läuft hier jeden Sonntag
# delete all files older than 30 day(s)
$myCleanUpPath = "\\fileserver.example.com\TRANSFER"
$daysBack = "-30"
Get-ChildItem $myCleanUpPath -Recurse | Where-Object { !$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays($daysBack) } | Remove-Item -Force -Recurse
Hier sehr ineffizient, aber ich dachte mach ich schritt für schritt - im Skript wird geschaut wann das letzte mal auf die Files zugegruffen wurde - falls das seit 7 tagen niemand mehr anschaute, dann werden die Files entfernt
$Path = "C:\Users\N-Dude\Desktop\Test"
#Berechnete Dateieigenschaft: letzen Zugriff (Fileserver muss es aber Unterstützen)
$LastUse = @{
Name = 'Letzter Zugriff vor Tagen'
Expression= { (New-TimeSpan $_.LastAccessTime).Days }
}
#Hier werden alle Dateien aufgelistet, aber mit der nun berechneten eigenschaft $LastUse
$FileList = Get-ChildItem -Path $Path -Recurse -File | Select-Object FullName, $LastUse
#Nun kannst du die Liste untersuchen und schauen welche Dateien z.B. seit 7 tagen
$OldFiles = @()
Foreach ($File in $FileList) {
$OldFiles += $File | Where-Object {$_.$LastUse -gt 7}
}
#Alle Dateien die in im Array Oldfiles stehen, entfernen
$OldFiles.Fullname | Remove-Item