Upload Media to vCloud with PowerCLI

June 18, 2013

Table of Contents

This script is a way in which you can upload your media to your vCloud Director Catalog.it is a really nice script for those of us with many ISOs you need to put somewhere safe. Hope it helps:

$isoFolder = “C:MyISOs”

$vdcName = “MyVDC”

$catalogName = “MyCatalog”

# create / delete a cloud media object

Get-ChildItem $isoFolder | %{

$media = New-Object VMware.VimAutomation.Cloud.Views.Media

$media.name = $_.name

$media.ImageType = ‘iso’

$media.size = $_.length

$media.Files = New-Object VMware.VimAutomation.Cloud.Views.FilesList

$media.Files.File = @(new-object VMware.VimAutomation.Cloud.Views.File)

$media.Files.File[0] = new-object VMware.VimAutomation.Cloud.Views.File

$media.Files.file[0].type = ‘iso’

$media.Files.file[0].name = $_.name

$vdc = Get-OrgVdc $vdcName

$vdc.ExtensionData.CreateMedia($media)

$filehref = (Get-Media $media.name | Get-CIView).files.file[0].link[0].href

$webclient = New-Object system.net.webclient

$webclient.Headers.Add(‘x-vcloud-authorization’,$global:DefaultCIServers[0].sessionid)

$webclient.Uploadfile($filehref, ‘PUT’, $_.fullname)

}

#Add non-catalog media to catalog

$mediaList = get-media | where {!$_.catalog}

$catalog = get-catalog $catalogName

foreach ($noCatMedia in $mediaList)

{

 $resEntity = $vdc.extensiondata.resourceEntities.resourceEntity | where {$_.name -eq $noCatMedia.name}

 $catitem = New-Object VMware.VimAutomation.Cloud.Views.CatalogItem

 $catitem.Entity = $resEntity.href

 $catitem.name = $resEntity.name

 $catitem.description = $media.description

 $catalog.extensiondata.createcatalogitem($catitem)

}

Home

 

Share on
Facebook
Twitter
LinkedIn
Pinterest
More posts

Dedicated Servers Quick Guide

What is a Dedicated Servers? Why bother using a dedicated server over a VPS or Shared Hosting?A dedicated server is a server 100% dedicated to your website/project or business needs.

Free eBooks from Microsoft Press

It is clear that Microsoft have available a books, which are free to download. These books provide an introduction and detailed information on some of their enterprise nad development products. They

dvPortgroup Inheritance

Someone may claim the default settings for portgroup inheritance in the dvSwitches, they may be missing in the vSphere client but they still exist and can be set in the

Get 90% Discount

First 3 People gets the Bonus!
Don't Miss Out Our Big Sale

Get 0-90% On All
247Rack Services

247Rack

The Sale Is Until The End Of March