De volgende function zoekt eerst alle *.VMX bestanden op en vervangt daarna de extentie *.VMX naar *.VMDK. Deze *.VMDK bestanden worden in de $List geplaatst. Daarna worden alle VMDK’s gedefragmenteerd via de vmware-vdiskmanager.exe.
function Defrag-allVMDKs{ param([string]$path) $vdiskmanager = “C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe” $parameter = “-d” $List = get-childitem $path -recurse | where {$_.extension -eq “.vmx”} | foreach-object -process { $_.FullName } | ForEach-Object {$_ -replace “.vmx”, “.vmdk”} ForEach($vmdk in $List) { echo $vmdk & $vdiskmanager $parameter $vmdk } } |
Via het volgende commando kun de bovenstaande function gebruiken.
Defrag-allVMDKs <drive>\<path>
Als je dit in de Shell uitvoerd ziet het er als volgt uit: