Laufwerke bereinigen per PowerShell - www.itnator.net

Laufwerke bereinigen per PowerShell

In Unternehmen werden auf den Netzlaufwerken Daten abgelegt, aber nie wieder angesehen. Die Laufwerke werden also im Laufe der Zeit “vermüllt”. Laufwerke bereinigen ist die Lösung! Am Besten per PowerShell Script und als Aufgabenplanung.

Um diese von alten Dateien zu befreien und leere Ordner zu löschen, hilft das PowerShell Script in diesem Artikel.

 

 

Funktionen des Scripts

  1. Das PowerShell Script löscht alle Dateien, die älter sind als x Tage.
  2. Noch dazu werden leere Ordner gelöscht.
  3. Das wird als Aufgabenplanung ausgeführt, am Besten jede Nacht.

 

 

Einstellungen im Script

  • In Zeile 18 – wird deklariert, wie alt die Dateien höchstens sein dürfen (14 Tage)
  • In Zeile 23 – werden alle Pfade angegeben, die bereinigt werden sollen

 

 

PowerShell Script zum Laufwerke bereinigen

<#
.SYNOPSIS
  Laufwerke bereinigen
.DESCRIPTION
  Loescht Dateien und Ordner aelter als X Tage von einem Laufwerk
.NOTES
  Version:        1.0
  Author:         www.ITnator.net | Johannes Huber
  Creation Date:  31.07.2017
.EXAMPLE
#>


#on error resume next
$global:ErrorActionPreference = "SilentlyContinue"

#set days
$Daysback = "-14" 
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)

#set path in array
$path = @("\\yourshare\k$\Konzern\","\\yourshare\k$\SCAN","\\yourshare\k$\otherfolder")

#for each path in array
for ($i=0; $i -lt $path.length; $i++){

    #delete files older than x day
    get-childitem $path[$i] -recurse | where {$_.lastwritetime -lt $DatetoDelete -and -not $_.psiscontainer} |% {remove-item $_.fullname -force -Confirm:$false -ErrorAction SilentlyContinue}
    
    #delete thumbs.db
    get-childitem $path[$i] -recurse | remove-item Thumbs.db -force -Confirm:$false -ErrorAction SilentlyContinue
    
    #delete empty folders
    $dirs = gci $path[$i] -directory -recurse | Where { (gci $_.fullName).count -eq 0 } | select -expandproperty FullName
    $dirs | Foreach-Object {Remove-Item $_ -recurse -force -Confirm:$false -ErrorAction SilentlyContinue} 
}

Das Script wurde aus anderen Schnipseln zusammengebaut:

 

 

Weitere Informationen

Das Script muss natürlich mit ausreichend Berechtigungen ausgeführt werden.

Ihr braucht zum einen Zugriff um überhaupt auf das Share bzw. Laufwerke zugreifen zu können, außerdem auch Berechtigungen zum Löschen der Dateien und Ordner.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

sidebar
>