Dateiendungen auf allen Laufwerken finden – Ein Beispiel um PST Dateien zu finden

 In Anleitungen, Microsoft Windows

Die Ausgangssituation war die, dass bevor mittlerweile eine anständige E-Mailarchivierung via Enterprise Vault eingeführt wurde, die Anwender sich selbständig PST (Personal Storage Table) Dateien angelegt haben um E-Mails aus dem Outlook auszugliedern. Schließlich war das reine Postfach auf lediglich 2GB begrenzt.

Zumindest sind wir nun an einem Punkt, an dem wir an erster Stelle herausfinden müssen, wo die Anwender die PST Daten gespeichert haben (Da gibt es genügend Möglichkeiten) und das am besten automatisiert. Was eignet sich an dieser Stelle besser, als eine paar wenige Batch-Befehle um nach einer Dateiendung zu suchen, um die PST Dateien der Anwender zu finden.

Da die Suche nach den PST Dateien „hidden“, also für den Anwender nicht sichtbar sein soll und die Suche je nach Endgerät auch etwas länger dauern kann, haben wir uns dafür entschieden, das Batchscript per Microsoft SCCM (System Center Configuration Manager) zu paketieren und auf alle Clients zu pushen.

Unter set Analysefile= wird der Pfad zu einer Textdatei gesetzt. Damit ich am Ende nicht für jeden User eine einzelne Datei habe, sollen alle User entsprechend in ein und die gleiche Datei schreiben. Das kann bei Bedarf auch abgeändert werden.
Unter Fileextension= wird die Endung mit einem *. Wildcard vorangestellt gesetzt. In diesem Fall soll entsprechend nach der Dateiendung „*.pst“ gesucht werden.

Um nicht nur rein die Festplattenpartition C:\ zu scannen, wurde eine Abfrage der vorhandenen Laufwerke eingebunden, sodass das Script auch erkennt, ob noch andere Festplatten, Speichersticks oder ähnliches vorhanden sind und diese ebenfalls in einer Schleife durchsucht.



Mit dem Aufruf „:Write“ wird anschließend jede gefundene PST Datei in die angegebene Textdatei geschrieben. Zusätzlich werden noch die Werte Name des Mitarbeiters (wird im AD ausgelesen), Benutzername, Computername und die Größe in Bytes gespeichert. Alle Werte werden durch ein Semikolon getrennt, damit die Datei auch in Excel importiert werden kann.

Viel Spaß

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
###########################################################
##                Analyse PST Files                      ##
##           (c) 2020 by Patrick Boschert                ##
###########################################################
 
@echo Off
 
set Analysefile="\\fileshare.domain.local\data\PSTAnalyse.txt"
set Fileextension=*.pst
 
for /f "usebackq tokens=2,* delims= " %%a in (`net user "%Username%" /domain ^| find /i "Name"`) do set Fullname=%%b
 
for /F %%C in ('mountvol ^| find ":\"') do (
 
for /f "tokens=*" %%i in ('dir /b /s "%%C%Fileextension%"') do (
set Filefound=%%i
for %%F in ("%%i") do set byte=%%~zF
Call :WRITE
)
)
 
Exit
 
:WRITE
echo %Fullname%;%Username%;%computername%;%Filefound%;%byte% >> %Analysefile%

Beginnen Sie mit der Eingabe und drücken Sie Enter, um zu suchen