Ich arbeite als IT-Techniker in einem Unternehmen mit rund 600 Windows 7-Laptops, die in 8 Ländern vertrieben werden. Wir verwenden Microsoft SCCM 2012, um die Clients zu verwalten.
Wir haben ein immer wiederkehrendes Problem mit den Festplatten. Sie häufen Hunderte von Gigabyte in ihrem Verzeichnis c: \ windows \ temp an. Da diese Dateien von Prozessen mit Administratorrechten erstellt werden, können Benutzer sie nicht bereinigen.
Also habe ich diesen Batch erstellt, der den Prozentsatz der freien Festplatte überprüft und, wenn er kleiner als 30% ist, mit der Bereinigung fortfährt:
@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.
Während diese Charge sicherlich funktionieren wird, hat jemand eine elegantere Lösung?
Danke
quelle
DEL /Q /F
, um es auch mit Nachdruck zu tun. Wenn Sie Teile dieses Skripts hier durchsehen, ist dies möglicherweise auch hilfreich, um Speicherplatz zurückzugewinnen, für den Fall, dass Sie etwas Relevantes sehen. superuser.com/questions/1187299/…