
Ich arbeite als IT-Techniker in einem Unternehmen mit rund 600 Windows 7-Laptops, verteilt auf 8 Länder. Zur Verwaltung der Clients verwenden wir Microsoft SCCM 2012.
Wir haben ein wiederkehrendes Problem mit den Festplatten: Sie neigen dazu, Hunderte von Gigabyte in ihrem Verzeichnis c:\windows\temp anzusammeln, und da diese Dateien von Prozessen mit Administratorrechten erstellt werden, können Benutzer sie nicht bereinigen.
Ich habe also diesen Batch erstellt, der den Prozentsatz des freien Speicherplatzes prüft und mit der Bereinigung fortfährt, wenn dieser unter 30 % liegt:
@echo off
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get Size /format:value`) do set Size=%%x
set FreeMB=%FreeSpace:~0,-6%
set SizeMB=%Size:~0,-6%
set /a Percentage=100 * FreeMB / SizeMB
IF %percentage% LSS 30 del c:\windows\temp\*.* /Q
Dieses Skript wird über SCCM2012 ausgeführt und sollte einmal im Monat auf jedem Client ausgeführt werden.
Dieser Ansatz wird zwar sicherlich funktionieren, aber hat jemand eine elegantere Lösung?
Danke