Ich habe einen Anwendungsserver unter Windows 2012 R2, der ein hohes Volumen an Protokolldateien generiert, bis das Anwendungsvolumen halbjährlich nicht mehr über genügend freien Speicherplatz verfügt. Aufgrund von Einschränkungen durch die Anwendung selbst kann ich die Protokolldateien nicht verschieben oder umbenennen oder die NTFS-Datendeduplizierung aktivieren. Da dies noch keine zehn Jahre her ist, möchte ich dazu keinen Batch oder vbscript verwenden für mich.
Die Protokolldateien befinden sich alle in verschiedenen Unterordnern des Anwendungsinstallationsverzeichnisses mit unterschiedlichen Erweiterungen (eine Komponente fügt das Datum als Protokolldateierweiterung hinzu), und das Anwendungsinstallationsverzeichnis enthält einen Leerzeichen, da die Anwendungsentwickler böswillig sind. Die Unterordner, in die die Protokolle geschrieben werden, werden zumindest ausschließlich zum Schreiben von Protokollen verwendet. Dies ist auch eine stark CPU-gebundene Anwendung, daher möchte ich die Protokollordner nicht selbst komprimieren und die CPU-Strafe für das Schreiben komprimierter Dateien für die Protokolle verursachen.
Wie kann ich PowerShell verwenden, um die NTFS-Komprimierung direkt für Protokolldateien zu aktivieren, die älter als x Tage sind?