2 Replies Latest reply on Jul 6, 2015 8:01 AM by madhanSakthi

    Build URLs for: VM Console, vCloud Director vApp, VM properties in vSphere

    Chrigoli Enthusiast

      Hi all


      I made a script to generate URLs for the following access:

      - Open a VM's Console in vSphere Web Client

      - Open vApp (to which the VM corresponds to) in vCloud Director

      - Open the VM's Summary Tab in vSphere Web Client


      I used that to generate a list of all my VMs within vCloud Director. Makes it much easier to manage if I have direct links to the Console and the vApp. Hope this might be of interest for some of you.







      $vCenterName = "your vCenter like vc1.domain.com"

      $vCloudDirName = "your vCloud Director like cell1.domain.com"


      #Connect to vCloud Cell and vCenter

      Connect-CIServer -Server $vCloudDirName

      Connect-VIServer -Server $vCenterName


      #vCenterInstance ID

      $vCenterInstanceID =  $DefaultVIServers[0].InstanceUuid



      $vivm = "My VM, could be f.e. while looping through a list of all VMs"

      $vApp = "The vApp in vCloud Director"


      #VM MoRef -> required for Console URL and vSphere Summary URL

      $vmMoRef = $vivm.ExtensionData.MoRef.ToString()

      $vmMoRef = $vmMoRef.Substring(15,$vmMoRef.Length-15)


      #vAppMoRef and OrgMoRef, required for the vCloud Director vApp URL

      $vAppMoRef = $vApp.Id

      $vAppMoRef = $vAppMoRef.Substring(16,$vAppMoRef.Length-16)

      $OrgMoRef = $vApp.Org.Id

      $OrgMoRef = $OrgMoRef.Substring(15,$OrgMoRef.Length-15)


      #Console URL

      $ConsoleURL = "https://" + $vCenterName + ":9443/vsphere-client/vmrc/vmrc.jsp?vm=urn:vmomi:VirtualMachine:" + $vmMoRef + ":" + $vCenterInstanceID.ToUpper()


      #vCloud vApp URL

      $vcloudURL = "https://" + $vCloudDirName + "/cloud/#/vAppDiagram?vapp=" + $vAppMoRef + "&org=" + $OrgMoRef                     


      #vSphere Summary URL

      $vsphereURL = "https://" + $vCenterURL + ":9443/vsphere-client/#extensionId=vsphere.core.vm.summary;context=com.vmware.core.model%3A%3AServerObjectRef~" + $vCenterInstanceID.ToUpper() + "%3AVirtualMachine%3A" + $vmMoRef + "~core"