PS from TGC to retrieve details for VMs and migrate 10 VMs from TGC

NOTE : THIS IS NOT AN OFFICIAL SCRIPT FROM TINTRI

To accomplish the task of getting all VMs details from the Tintri Global Center (TGC) inventory and migrating 10 VMs to a different datastore using TGC, you’ll need to use the Tintri REST API and PowerShell.PowerShell script that retrieves details for all virtual machines in the inventory from the vSphere Tagging API (TGC) and migrates 10 VMs to a different datastore using TGC:


# Connect to the vCenter Server
Connect-VIServer -Server <vCenter_Server> -User <username> -Password <password>

# Get all virtual machines from the inventory
$vms = Get-VM

# Retrieve details for each virtual machine
foreach ($vm in $vms) {
    $vmName = $vm.Name
    $vmPowerState = $vm.PowerState
    $vmHost = $vm.VMHost.Name
    $vmDatastore = $vm.Datastore.Name

    # Print the VM details
    Write-Host "VM Name: $vmName"
    Write-Host "Power State: $vmPowerState"
    Write-Host "Host: $vmHost"
    Write-Host "Datastore: $vmDatastore"
    Write-Host "-------------------"
}

# Select 10 VMs to migrate to a different datastore
$vmstoMigrate = $vms | Select-Object -First 10

# Specify the destination datastore
$destinationDatastore = Get-Datastore -Name <destination_datastore_name>

# Migrate the selected VMs to the destination datastore
foreach ($vm in $vmstoMigrate) {
    Write-Host "Migrating VM $($vm.Name) to datastore $($destinationDatastore.Name)..."
    Move-VM -VM $vm -Datastore $destinationDatastore -Confirm:$false
    Write-Host "Migration completed for VM $($vm.Name)."
}

# Disconnect from the vCenter Server
Disconnect-VIServer -Server <vCenter_Server> -Confirm:$false

Make sure to replace “, “, “, and “ with your actual vCenter Server details and the desired destination datastore name. Please note that this script assumes you have the VMware PowerCLI module installed. If you don’t have it, you can install it by running `Install-Module -Name VMware.PowerCLI`.

Leave a comment