Samstag, 30. Juni 2018

Bereinigen von virtuellen maschinen

Als SharePoint-Entwickler arbeite ich häufig in Virtuellen umgebungen. Diese sollten gerne möglichst "platzsparend" gelagert werden können - das ist auch gut, wenn mal eine Maschine an einen Kollegen "abgetreten" werden soll.

Mein akutelles Vorgehen dabei ist das folgende:
  • Bereinigung des WinSxS-Ordners mittles "Dism.exe /online /Cleanup-Image"
    • Für Service-Packs mit dem Parameter "/SPSuperseded"
    • Für Komponenten mit dem Parameter "/StartComponentCleanup /ResetBase"
  • Bereinigung der Laufwerke mittels "cleangr.exe"
    • Um den cleanmgr ohne Rückfragen zu starten gibt es die Parameter "/sageset" und "/sagerun". (Entgegen der Dokumentation gibt es nur 9999 verschiedene Speicherplätze und nicht 65535). Die Einstellungen, die mit "sageset" vorgenommen werden, werden in der registry gespeichert und daher auch einfach mit Powershell angelegt werden.
  • Defragmentierung des Datenträgers mit ultradefrag
    • Für optimale Ergebnisse verwende ich die Parameter "--optimize" und "--repeat"
  • "Nullen" der nicht mehr verwendeten Blöcke des Datenträgers mit sdelete
    • Für das "einfache" "Nullen" der Blöcke verwende ich den Parameter "-z"
    • Dieser Schritt führt - zusammen mit der defragmentierung - zu einem besseren Ergebnis beim komprimieren der virtuellen Festplatte

Komplett sieht das Skript dann so aus:
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
Dism.exe /online /Cleanup-Image /SPSuperseded
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches | `
              %{ $_| Set-ItemProperty -Name "StateFlags1234" -Value 2 }
cleanmgr.exe /sagerun:1234
udefrag.exe --optimize --repeat C:
sdelete.exe -q -z C:

Keine Kommentare:

Kommentar veröffentlichen