<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Invalid backing on VM guest NIC's - (SAN volume replication to DR) - how to avoid? in ESXi Discussions</title>
    <link>https://communities.vmware.com/t5/ESXi-Discussions/Invalid-backing-on-VM-guest-NIC-s-SAN-volume-replication-to-DR/m-p/2266273#M220942</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've had a similar issue to this when migrating VMs from 4.1 to 5.5 with a new vCenter.&amp;nbsp; I ended up writing a PowerCLI script that exports a list of all the VMs in the PROD VC to CSV.&amp;nbsp; It then connects to the other VC, in your case the DR VC, browses the datastore, adds the VM to inventory, sets the network, places it back into the correct folder, etc.&amp;nbsp;&amp;nbsp; If you don't want to power them on, you can remove the PowerON VMs section.&amp;nbsp; In my case, we were upgrading so the script also upgrades the virtual hardware and the tools.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------&lt;/P&gt;&lt;P&gt;#Build the BlueFolderPath function&lt;/P&gt;&lt;P&gt;New-VIProperty -Name 'FullPath' -ObjectType 'VirtualMachine' -Value {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; param($vm)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; $current = Get-View $vm.ExtensionData.Parent&lt;/P&gt;&lt;P&gt;&amp;nbsp; $path = ""&lt;/P&gt;&lt;P&gt;&amp;nbsp; do {&lt;/P&gt;&lt;P&gt;&amp;nbsp; $parent = $current&lt;/P&gt;&lt;P&gt;&amp;nbsp; if($parent.Name -ne "vm"){$path =&amp;nbsp; $parent.Name + "/" + $path}&lt;/P&gt;&lt;P&gt;&amp;nbsp; $current = Get-View $current.Parent&lt;/P&gt;&lt;P&gt;&amp;nbsp; } while ($current.Parent -ne $null)&lt;/P&gt;&lt;P&gt;&amp;nbsp; $path.TrimEnd('/')&lt;/P&gt;&lt;P&gt;} -Force | Out-Null&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Build the Get-folderbypath function&lt;/P&gt;&lt;P&gt;function Get-FolderByPath {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;#&lt;/P&gt;&lt;P&gt;.SYNOPSIS&amp;nbsp; Retrieve folders by giving a path&lt;/P&gt;&lt;P&gt;.DESCRIPTION The function will retrieve a folder by it's&lt;/P&gt;&lt;P&gt;&amp;nbsp; path. The path can contain any type of leave (folder or&lt;/P&gt;&lt;P&gt;&amp;nbsp; datacenter).&lt;/P&gt;&lt;P&gt;.NOTES&amp;nbsp; Author:&amp;nbsp; Luc Dekens&lt;/P&gt;&lt;P&gt;.PARAMETER Path&lt;/P&gt;&lt;P&gt;&amp;nbsp; The path to the folder.&lt;/P&gt;&lt;P&gt;&amp;nbsp; This is a required parameter.&lt;/P&gt;&lt;P&gt;.PARAMETER Separator&lt;/P&gt;&lt;P&gt;&amp;nbsp; The character that is used to separate the leaves in the&lt;/P&gt;&lt;P&gt;&amp;nbsp; path. The default is '/'&lt;/P&gt;&lt;P&gt;.EXAMPLE&lt;/P&gt;&lt;P&gt;&amp;nbsp; PS&amp;gt; Get-FolderByPath -Path "Folder1/Datacenter/Folder2"&lt;/P&gt;&lt;P&gt;.EXAMPLE&lt;/P&gt;&lt;P&gt;&amp;nbsp; PS&amp;gt; Get-FolderByPath -Path "Folder1&amp;gt;Folder2" -Separator '&amp;gt;'&lt;/P&gt;&lt;P&gt;#&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; param(&lt;/P&gt;&lt;P&gt;&amp;nbsp; [CmdletBinding()]&lt;/P&gt;&lt;P&gt;&amp;nbsp; [parameter(Mandatory = $true)]&lt;/P&gt;&lt;P&gt;&amp;nbsp; [System.String[]]${Path},&lt;/P&gt;&lt;P&gt;&amp;nbsp; [char]${Separator} = '/'&lt;/P&gt;&lt;P&gt;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; process{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((Get-PowerCLIConfiguration).DefaultVIServerMode -eq "Multiple"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vcs = $defaultVIServers&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vcs = $defaultVIServers[0]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($vc in $vcs){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($strPath in $Path){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root = Get-Folder -Name Datacenters -Server $vc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $strPath.TrimStart($Separator).Split($Separator) | %{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root = Get-Inventory -Name $_ -Location $root -Server $vc -NoRecursion&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((Get-Inventory -Location $root -NoRecursion | Select -ExpandProperty Name) -contains "vm"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root = Get-Inventory -Name "vm" -Location $root -Server $vc -NoRecursion&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root | where {$_ -is [VMware.VimAutomation.ViCore.Impl.V1.Inventory.FolderImpl]}|%{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-Folder -Name $_.Name -Location $root.Parent -Server $vc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Enable connections to multiple vCenters&lt;/P&gt;&lt;P&gt;Set-PowerCLIConfiguration -DefaultVIServerMode Multiple -Scope AllUsers -Confirm:$false&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Connect to Prod VC&lt;/P&gt;&lt;P&gt;connect-viserver PRODVC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# export list of VMs to Migrate to CSV&lt;/P&gt;&lt;P&gt;Get-Datacenter -name "DataCenter" | Get-VM |&lt;/P&gt;&lt;P&gt;Select Name, @{N="Datastore";E={Get-Datastore -VM $_ | Select -ExpandProperty Name}},&lt;/P&gt;&lt;P&gt;&amp;nbsp; @{N="Network";E={Get-VirtualPortgroup -VM $_ | Select -ExpandProperty Name}},&lt;/P&gt;&lt;P&gt;&amp;nbsp; @{N="Parent";E={$_.FullPath}} |&lt;/P&gt;&lt;P&gt;Export-Csv "c:\migrate.csv" -NoTypeinformation -UseCulture&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Connect to DR VC&lt;/P&gt;&lt;P&gt;connect-viserver DRVC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Set a host in DR Cluster to add them to.&lt;/P&gt;&lt;P&gt;$esxhost = "DRVSPHERE01"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;## Add backto inventory &amp;amp; Change network for VMs&lt;/P&gt;&lt;P&gt;foreach ($row in (Import-Csv c:\Migrate.csv)) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmName = $row.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmxfile = "[$($row.Datastore)] $($vmName)/$($vmName).vmx"&lt;/P&gt;&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmlocation = $row.Parent.Split('/')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmNewVM = New-VM -VMFilePath $vmxfile -VMhost $esxhost&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Move VM to existing folder locaiton&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Move-VM -VM $row.Name -Destination (get-folderbypath $row.Parent)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Change Network Portgroup&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vm = get-vm -Name $row.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-NetworkAdapter -VM $vm | Set-NetworkAdapter -NetworkName $row.Network -Confirm:$false&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Upgrade Virtual Hardware&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set-VM -VM $vmName -Version v10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Update VMware Tools&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; update-tools $vmName -Confirm:$false&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; start-sleep -s 300&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Poweron VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-VM -VM $vmName -Confirm:$false | wait-tools &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-VMQuestion -VM $vmName | Set-VMQuestion –Option "I moved it" -confirm:$false&lt;/P&gt;&lt;P&gt;} ## end foreach&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 13 Feb 2015 14:47:27 GMT</pubDate>
    <dc:creator>BenLiebowitz</dc:creator>
    <dc:date>2015-02-13T14:47:27Z</dc:date>
    <item>
      <title>Invalid backing on VM guest NIC's - (SAN volume replication to DR) - how to avoid?</title>
      <link>https://communities.vmware.com/t5/ESXi-Discussions/Invalid-backing-on-VM-guest-NIC-s-SAN-volume-replication-to-DR/m-p/2266271#M220940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using SAN volume replication to replicate my ESXi "PROD" datastores LUN's to a "DR" site.&amp;nbsp; The vCenter server in DR is a fresh install, and not a recovered version of PROD vCenter.&amp;nbsp; The PROD and DR networks don't have IP connectivity to each other, only the SAN replication traffic is allowed between the sites.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm able to mount the replicated datastores in DR vCenter, and power on the guests.&amp;nbsp; But the large majority of the VM guests have "invalid backing" on their NIC's.&amp;nbsp; I need to manually edit each VM guest and toggle the NIC to the appropriate switch port.&amp;nbsp; Distributed vSwitches are being used in both PROD and DR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any way to have the guest VM's be able to retain their NIC setting when imported into DR?&amp;nbsp; I tried exporting the vSwitch configuration from PROD and importing to DR, but it did not seem to make a difference.&amp;nbsp; Would I be better off trying to replicate the PROD vCenter to DR?&amp;nbsp; The primary reason for a separate DR vCenter was to have a system always online and available, and to host VM guests that could readily support DR/recovery tasks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Feb 2015 16:16:41 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ESXi-Discussions/Invalid-backing-on-VM-guest-NIC-s-SAN-volume-replication-to-DR/m-p/2266271#M220940</guid>
      <dc:creator>tickermcse76</dc:creator>
      <dc:date>2015-02-12T16:16:41Z</dc:date>
    </item>
    <item>
      <title>Re: Invalid backing on VM guest NIC's - (SAN volume replication to DR) - how to avoid?</title>
      <link>https://communities.vmware.com/t5/ESXi-Discussions/Invalid-backing-on-VM-guest-NIC-s-SAN-volume-replication-to-DR/m-p/2266272#M220941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I do not know of a way to have the VM keep their NIC settings, so I just reset them using PowerCLI. It is quick and easy if your VMs are in the same port group. The script will get a little more complex if you have multiple port groups.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an example of the main command to use:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get-vm $vmname | Get-NetworkAdapter | Set-NetworkAdapter -PortGroup $pgname&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 14:28:45 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ESXi-Discussions/Invalid-backing-on-VM-guest-NIC-s-SAN-volume-replication-to-DR/m-p/2266272#M220941</guid>
      <dc:creator>homerzzz</dc:creator>
      <dc:date>2015-02-13T14:28:45Z</dc:date>
    </item>
    <item>
      <title>Re: Invalid backing on VM guest NIC's - (SAN volume replication to DR) - how to avoid?</title>
      <link>https://communities.vmware.com/t5/ESXi-Discussions/Invalid-backing-on-VM-guest-NIC-s-SAN-volume-replication-to-DR/m-p/2266273#M220942</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've had a similar issue to this when migrating VMs from 4.1 to 5.5 with a new vCenter.&amp;nbsp; I ended up writing a PowerCLI script that exports a list of all the VMs in the PROD VC to CSV.&amp;nbsp; It then connects to the other VC, in your case the DR VC, browses the datastore, adds the VM to inventory, sets the network, places it back into the correct folder, etc.&amp;nbsp;&amp;nbsp; If you don't want to power them on, you can remove the PowerON VMs section.&amp;nbsp; In my case, we were upgrading so the script also upgrades the virtual hardware and the tools.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------&lt;/P&gt;&lt;P&gt;#Build the BlueFolderPath function&lt;/P&gt;&lt;P&gt;New-VIProperty -Name 'FullPath' -ObjectType 'VirtualMachine' -Value {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; param($vm)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; $current = Get-View $vm.ExtensionData.Parent&lt;/P&gt;&lt;P&gt;&amp;nbsp; $path = ""&lt;/P&gt;&lt;P&gt;&amp;nbsp; do {&lt;/P&gt;&lt;P&gt;&amp;nbsp; $parent = $current&lt;/P&gt;&lt;P&gt;&amp;nbsp; if($parent.Name -ne "vm"){$path =&amp;nbsp; $parent.Name + "/" + $path}&lt;/P&gt;&lt;P&gt;&amp;nbsp; $current = Get-View $current.Parent&lt;/P&gt;&lt;P&gt;&amp;nbsp; } while ($current.Parent -ne $null)&lt;/P&gt;&lt;P&gt;&amp;nbsp; $path.TrimEnd('/')&lt;/P&gt;&lt;P&gt;} -Force | Out-Null&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Build the Get-folderbypath function&lt;/P&gt;&lt;P&gt;function Get-FolderByPath {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;#&lt;/P&gt;&lt;P&gt;.SYNOPSIS&amp;nbsp; Retrieve folders by giving a path&lt;/P&gt;&lt;P&gt;.DESCRIPTION The function will retrieve a folder by it's&lt;/P&gt;&lt;P&gt;&amp;nbsp; path. The path can contain any type of leave (folder or&lt;/P&gt;&lt;P&gt;&amp;nbsp; datacenter).&lt;/P&gt;&lt;P&gt;.NOTES&amp;nbsp; Author:&amp;nbsp; Luc Dekens&lt;/P&gt;&lt;P&gt;.PARAMETER Path&lt;/P&gt;&lt;P&gt;&amp;nbsp; The path to the folder.&lt;/P&gt;&lt;P&gt;&amp;nbsp; This is a required parameter.&lt;/P&gt;&lt;P&gt;.PARAMETER Separator&lt;/P&gt;&lt;P&gt;&amp;nbsp; The character that is used to separate the leaves in the&lt;/P&gt;&lt;P&gt;&amp;nbsp; path. The default is '/'&lt;/P&gt;&lt;P&gt;.EXAMPLE&lt;/P&gt;&lt;P&gt;&amp;nbsp; PS&amp;gt; Get-FolderByPath -Path "Folder1/Datacenter/Folder2"&lt;/P&gt;&lt;P&gt;.EXAMPLE&lt;/P&gt;&lt;P&gt;&amp;nbsp; PS&amp;gt; Get-FolderByPath -Path "Folder1&amp;gt;Folder2" -Separator '&amp;gt;'&lt;/P&gt;&lt;P&gt;#&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; param(&lt;/P&gt;&lt;P&gt;&amp;nbsp; [CmdletBinding()]&lt;/P&gt;&lt;P&gt;&amp;nbsp; [parameter(Mandatory = $true)]&lt;/P&gt;&lt;P&gt;&amp;nbsp; [System.String[]]${Path},&lt;/P&gt;&lt;P&gt;&amp;nbsp; [char]${Separator} = '/'&lt;/P&gt;&lt;P&gt;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; process{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((Get-PowerCLIConfiguration).DefaultVIServerMode -eq "Multiple"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vcs = $defaultVIServers&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vcs = $defaultVIServers[0]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($vc in $vcs){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($strPath in $Path){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root = Get-Folder -Name Datacenters -Server $vc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $strPath.TrimStart($Separator).Split($Separator) | %{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root = Get-Inventory -Name $_ -Location $root -Server $vc -NoRecursion&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((Get-Inventory -Location $root -NoRecursion | Select -ExpandProperty Name) -contains "vm"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root = Get-Inventory -Name "vm" -Location $root -Server $vc -NoRecursion&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $root | where {$_ -is [VMware.VimAutomation.ViCore.Impl.V1.Inventory.FolderImpl]}|%{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-Folder -Name $_.Name -Location $root.Parent -Server $vc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Enable connections to multiple vCenters&lt;/P&gt;&lt;P&gt;Set-PowerCLIConfiguration -DefaultVIServerMode Multiple -Scope AllUsers -Confirm:$false&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Connect to Prod VC&lt;/P&gt;&lt;P&gt;connect-viserver PRODVC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# export list of VMs to Migrate to CSV&lt;/P&gt;&lt;P&gt;Get-Datacenter -name "DataCenter" | Get-VM |&lt;/P&gt;&lt;P&gt;Select Name, @{N="Datastore";E={Get-Datastore -VM $_ | Select -ExpandProperty Name}},&lt;/P&gt;&lt;P&gt;&amp;nbsp; @{N="Network";E={Get-VirtualPortgroup -VM $_ | Select -ExpandProperty Name}},&lt;/P&gt;&lt;P&gt;&amp;nbsp; @{N="Parent";E={$_.FullPath}} |&lt;/P&gt;&lt;P&gt;Export-Csv "c:\migrate.csv" -NoTypeinformation -UseCulture&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Connect to DR VC&lt;/P&gt;&lt;P&gt;connect-viserver DRVC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Set a host in DR Cluster to add them to.&lt;/P&gt;&lt;P&gt;$esxhost = "DRVSPHERE01"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;## Add backto inventory &amp;amp; Change network for VMs&lt;/P&gt;&lt;P&gt;foreach ($row in (Import-Csv c:\Migrate.csv)) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmName = $row.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmxfile = "[$($row.Datastore)] $($vmName)/$($vmName).vmx"&lt;/P&gt;&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmlocation = $row.Parent.Split('/')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vmNewVM = New-VM -VMFilePath $vmxfile -VMhost $esxhost&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Move VM to existing folder locaiton&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Move-VM -VM $row.Name -Destination (get-folderbypath $row.Parent)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Change Network Portgroup&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vm = get-vm -Name $row.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-NetworkAdapter -VM $vm | Set-NetworkAdapter -NetworkName $row.Network -Confirm:$false&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Upgrade Virtual Hardware&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set-VM -VM $vmName -Version v10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Update VMware Tools&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; update-tools $vmName -Confirm:$false&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; start-sleep -s 300&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Poweron VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-VM -VM $vmName -Confirm:$false | wait-tools &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-VMQuestion -VM $vmName | Set-VMQuestion –Option "I moved it" -confirm:$false&lt;/P&gt;&lt;P&gt;} ## end foreach&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 14:47:27 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ESXi-Discussions/Invalid-backing-on-VM-guest-NIC-s-SAN-volume-replication-to-DR/m-p/2266273#M220942</guid>
      <dc:creator>BenLiebowitz</dc:creator>
      <dc:date>2015-02-13T14:47:27Z</dc:date>
    </item>
  </channel>
</rss>

