Storage‎ > ‎

VM CTK Cleanup Script

posted Jun 12, 2015, 10:31 AM by Kris Knight   [ updated Jun 14, 2016, 11:40 AM ]
Sometimes CTK files are corrupt preventing a VM from powering on. The below script will rename the CTK files if the VM's path on the datastore is the same as its name and the VMDKs are kept together.
 
# ================================================================================
# ========                    Clean up VM CTK files                       ========
# ========                             by                                 ========
# ========                          KnightUSN                             ========
# ========                       v1.0 - 6/12/2015                         ========
# ================================================================================
# Run .\SET-VMctkCleanUp.ps1 "VM Name"
# This script looks for the VMstores location and renames items containing "ctk" to .old
 
param(
    [parameter(Mandatory = $true)]
    [string[]]$param
 )
$VM = Get-VM $param
$DSP = Get-Datastore -id $VM.DatastoreIdList
$vDSP = $DSP.DatastoreBrowserPath + "\" + $VM.name
Get-ChildItem $vDSP | ?{$_.name.contains("ctk")} | foreach{
 $NewN = $_.name + ".old"
 $fullDSP = $vDSP + "\" + $_.name
 Get-Item $fullDSP | Rename-Item -NewName $NewN
}
$VM.ExtensionData.ConsolidateVMDisks()

Comments