Skip to content

Instantly share code, notes, and snippets.

@nshores
Last active April 10, 2018 10:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save nshores/b90f4f834c5276e0dba7fcc0e01d439f to your computer and use it in GitHub Desktop.
Save nshores/b90f4f834c5276e0dba7fcc0e01d439f to your computer and use it in GitHub Desktop.
# Enable CBT on virtual machines list
#Connect to vcenter
$vCenter = 'vcenter-pk-01.pkwillis.local'
$Creds = Get-Credential 'domain\userid' -Message 'Provide userid\password with permissions on VCenter'
if ($global:DefaultVIServers[0].name -match $vcenter){}
else{Connect-VIServer $vcenter -Credential $creds}
$ErrorActionPreference = "Stop";
$vms = @(
"pkw-rams",
"pkw-postgresql",
"pkw-mssqlserver",
"pkw-etrackerfiles",
"pkw-quantum2",
"web1",
"pkw-quantum3"
)
foreach ($vm in $vms) {
try {$vm_view = Get-VM $vm | Get-View}
catch {
write-host "Error getting $vm info"
}
if ($vm_view){
$changetracking = $vm_view.Config.ChangeTrackingEnabled
if ($changetracking -match "false"){
write-host ('Enabled change tracking on $VM Change Tracking: {0}' -f $vm_view.Config.ChangeTrackingEnabled )
$vm_config_spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vm_config_spec.changeTrackingEnabled = $true
$vm_view.reconfigVM($vm_config_spec)
$snap = New-Snapshot (Get-VM $vm) -Name "Enable CBT"
$snap | Remove-Snapshot -confirm:$false
$changetracking = $vm_view.Config.ChangeTrackingEnabled
write-host ('Enabled change tracking on $VM Change Tracking: {0}' -f $vm_view.Config.ChangeTrackingEnabled )
}
else {write-host "Change tracking already enabled on $VM"}
}
else {write-host "Skipping $vm"}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment