Script: Nicht verwendete VHDX Dateien finden

Mit folgendem kleinen Script lassen sich VHDX Dateien innerhalb eines Cluster Storages finden die keiner laufenden VM zugeordnet sind. Die Funktionsweise ist recht simpel, es wird nur getestet ob die Datei „in Verwendung“ ist oder nicht. Zum ausführen des Scripts werden Admin Rechte benötigt.

Natürlich lässt sich das Script sehr schnell anpassen um auch andere geöffnete Dateitypen zu finden.

# region description
# Check all vhdx files it the are in use
# It uses the root file path from the storage cluster
#
# written by: Patrick Hoeft
# version 0.1, 04.09.2019
#
# endregion

$clusterStorageRootPath = "C:\ClusterStorage"

$fileList = ls $clusterStorageRootPath -Recurse -File -Include '*.vhdx' | select -ExpandProperty FullName

foreach($file in $fileList){
   try {
      [IO.File]::OpenWrite("$file").close()
      Write-Host $file
   }catch{
      # This file is in use
   }
}