Automatische Bereinigung von Verzeichnissen
3. Juni 2016
Zum automatisierten löschen von Daten innerhalb eines bestimmten Zeitraums kann z.B. PowerSehll mit dem Befehl Get-ChildItem verwendet werden.
Gehen Sie wie folgt vor
- Melden Sie sich am System mit Administrationsrechten an
- Starten Sie den Taskmanager und erstellen einen neuen Task der Täglich zu einen fixen Zeitpunkt ausgeführt wird.
- Allgemein
- Vergeben Sie einen sprechenden Namen
- Vergeben Sie eine Beschreibung damit in der Zukunft noch ersichtlich welche Aufgabe der Task hat
- Geben Sie einen Benutzer an, der lokale Administrationsrechte und Ausführungsrechte besitzt
(Der Account für die Ausführung im Aufgabenplaner muss das Recht Anmelden als Dienst besitzen (Lokale Sicherheitsrichtlinien / Zuweisung von Benutzerrechten / Anmelden als Stapelverarbeitungsauftrag))- Aktivieren Sie „Unabhängig von der Benutzeranmeldung ausführen“
- Trigger
- Geben Sie eine Zeitraum an wann der Task ausgeführt werden soll, z.B. Täglich um 06:00 Uhr
- Aktion
- Wählen Sie Programm starten
- Als Programm geben Sie den folgenden Wert ein
powershell.exe- Als Argument geben Sie den folgenden Wert ein, wobei der Verzeichnispaf und die Anzahl der Tage angepasst werden müssen:
Get-ChildItem [Verzeichnispfad] | foreach-object {get-childitem $_.fullname} | Where-Object{($_.PSIsContainer)} | % {if( $_.CreationTime -lt ((get-date).AddDays([-Anzahl der Tage])) ){ Remove-Item -Force -Confirm:$false -recurse $_.fullname}}Get-ChildItem E:\ | foreach-object {get-childitem $_.fullname} | Where-Object{($_.PSIsContainer)} | % {if( $_.CreationTime -lt ((get-date).AddDays(-4)) ){ Remove-Item -Force -Confirm:$false -recurse $_.fullname}}- Speichern Sie die Einstellung.