<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">

<channel>
	<title>Geek after Five</title>
	
	<link>http://geekafterfive.com</link>
	<description>Not your typical 8 to 5 geek.</description>
	<lastBuildDate>Sun, 05 May 2013 18:39:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain="geekafterfive.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://0.gravatar.com/blavatar/c01d5eece5eab656c984356160469db9?s=96&amp;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Geek after Five</title>
		<link>http://geekafterfive.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://geekafterfive.com/osd.xml" title="Geek after Five" />
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/GeekAfterFive" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="geekafterfive" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://geekafterfive.com/?pushpress=hub" /><item>
		<title>Simple VM reporting in vCloud with PowerCLI</title>
		<link>http://geekafterfive.com/2013/03/21/simple-vm-reporting-in-vcloud-with-powercli/</link>
		<comments>http://geekafterfive.com/2013/03/21/simple-vm-reporting-in-vcloud-with-powercli/#comments</comments>
		<pubDate>Thu, 21 Mar 2013 18:49:06 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[Bluelock]]></category>
		<category><![CDATA[reporting]]></category>
		<category><![CDATA[vApp]]></category>
		<category><![CDATA[Virtual machine]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=812</guid>
		<description><![CDATA[Because of the unique requirement of VMs to exist inside vApps in vCloud Director, it&#8217;s a challenge to get a nice view of all the VMs and their locations within your vCloud Organization. This can mostly be satisfied with a Get-CIVM command, which will return great info about your VMs, but it&#8217;s missing the storage [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=812&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Because of the unique requirement of VMs to exist inside vApps in vCloud Director, it&#8217;s a challenge to get a nice view of all the VMs and their locations within your vCloud Organization. This can mostly be satisfied with a <span style="color:#3366ff;">Get-CIVM</span> command, which will return great info about your VMs, but it&#8217;s missing the storage assignment. Here&#8217;s a sweet little script to report specifically on the VM resources in use inside your vCloud Organization:</p>
<pre class="brush: powershell; title: ; notranslate">

$vms = get-civm
$objects = @()

foreach($vm in $vms)
{
 $hardware = $vm.ExtensionData.GetVirtualHardwareSection()
 $diskMB = (($hardware.Item | where {$_.resourcetype.value -eq &quot;17&quot;}) | %{$_.hostresource[0].anyattr[0].&quot;#text&quot;} | Measure-Object -Sum).sum
 $row = New-Object PSObject -Property @{&quot;vapp&quot; = $vm.vapp; &quot;name&quot;=$vm.Name;&quot;cpuCount&quot;=$vm.CpuCount;&quot;memoryGB&quot;=$vm.MemoryGB;&quot;storageGB&quot;=($diskMB/1024)}
 $objects += $row
}

# Use select object to get the column order right. Sort by vApp. Force table formatting and auto-width.
$objects | select-Object name,vapp,cpuCount,memoryGB,storageGB | Sort-Object -Property vapp | Format-Table -AutoSize

</pre>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;">
</div>
<p>You can easily export to a CSV by using <span style="color:#3366ff;">Export-CSV</span> or just run the report to get output that looks something like this:</p>
<p><a href="http://geekafterfive.files.wordpress.com/2013/03/snag-0380.png"><img class="alignnone size-full wp-image-813" alt="VMreport" src="http://geekafterfive.files.wordpress.com/2013/03/snag-0380.png?w=490&#038;h=211" width="490" height="211" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/812/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/812/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=812&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2013/03/21/simple-vm-reporting-in-vcloud-with-powercli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2013/03/snag-0380.png" medium="image">
			<media:title type="html">VMreport</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting Default VDSwitch security for vCloud with PowerCLI</title>
		<link>http://geekafterfive.com/2013/03/14/setting-default-vdswitch-security-for-vcloud-with-powercli/</link>
		<comments>http://geekafterfive.com/2013/03/14/setting-default-vdswitch-security-for-vcloud-with-powercli/#comments</comments>
		<pubDate>Thu, 14 Mar 2013 19:30:24 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[vSphere]]></category>
		<category><![CDATA[dvPortgroups]]></category>
		<category><![CDATA[forgedtransmits]]></category>
		<category><![CDATA[promiscuous]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[vdportgroup]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=805</guid>
		<description><![CDATA[Working as a public vCloud provider periodically gives me the opportunity to help clients that are running their own private vCloud. It&#8217;s a great side benefit to working with an experienced public vCloud provider in case you need some advanced help, or custom code/scripting! In this case, my client needed to set default security permissions for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=805&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Working as a public <a href="http://bluelock.com" target="_blank">vCloud provider</a> periodically gives me the opportunity to help clients that are running their own private vCloud. It&#8217;s a great side benefit to working with an experienced public vCloud provider in case you need some advanced help, or custom code/scripting!</p>
<p>In this case, my client needed to set <strong>default</strong> security permissions for all new VDPortgroups that were <strong>created by vCloud Director</strong>. This is different than setting security on a single portgroup. This sets the <strong>defaults for ALL portgroups</strong> created <strong>after</strong> the setting change! This is very handy when the network creation is out of our hands. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;">############################################</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;"># Configuration Settings                   #</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;">############################################</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$switchName</span><span style="color:#a9a9a9;">=</span><span style="color:#8b0000;">&#8220;dvSwitch&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$promiscuous</span><span style="color:#a9a9a9;">=</span><span style="color:#ff4500;">$true</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$forgedTransmits</span><span style="color:#a9a9a9;">=</span><span style="color:#ff4500;">$false</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$macChanges</span><span style="color:#a9a9a9;">=</span><span style="color:#ff4500;">$false</span></p>
<p>&nbsp;</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;">###################################################</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;"># Shouldn&#8217;t need to edit anything below this line #</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;">###################################################</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$dvSwitch </span><span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">Get-VDSwitch </span><span style="color:#ff4500;">$switchname</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec </span><span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.Vim.VMwareDVSConfigSpec</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>configVersion <span style="color:#a9a9a9;">= </span><span style="color:#ff4500;">$dvswitch</span><span style="color:#a9a9a9;">.</span>ExtensionData<span style="color:#a9a9a9;">.</span>Config<span style="color:#a9a9a9;">.</span>ConfigVersion</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig <span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.Vim.VMwareDVSPortSetting</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig<span style="color:#a9a9a9;">.</span>SecurityPolicy <span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.Vim.DVSSecurityPolicy</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig<span style="color:#a9a9a9;">.</span>SecurityPolicy<span style="color:#a9a9a9;">.</span>AllowPromiscuous <span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.Vim.BoolPolicy</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig<span style="color:#a9a9a9;">.</span>SecurityPolicy<span style="color:#a9a9a9;">.</span>AllowPromiscuous<span style="color:#a9a9a9;">.</span>Value <span style="color:#a9a9a9;">= </span><span style="color:#ff4500;">$promiscuous</span></p>
<p>&nbsp;</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig<span style="color:#a9a9a9;">.</span>SecurityPolicy<span style="color:#a9a9a9;">.</span>MacChanges <span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object</span><span style="color:#8a2be2;">VMware.Vim.BoolPolicy</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig<span style="color:#a9a9a9;">.</span>SecurityPolicy<span style="color:#a9a9a9;">.</span>MacChanges<span style="color:#a9a9a9;">.</span>Value <span style="color:#a9a9a9;">= </span><span style="color:#ff4500;">$macChanges</span></p>
<p>&nbsp;</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig<span style="color:#a9a9a9;">.</span>SecurityPolicy<span style="color:#a9a9a9;">.</span>ForgedTransmits <span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.Vim.BoolPolicy</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$spec</span><span style="color:#a9a9a9;">.</span>DefaultPortConfig<span style="color:#a9a9a9;">.</span>SecurityPolicy<span style="color:#a9a9a9;">.</span>ForgedTransmits<span style="color:#a9a9a9;">.</span>Value <span style="color:#a9a9a9;">= </span><span style="color:#ff4500;">$forgedTransmits</span></p>
<p>&nbsp;</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$dvswitch</span><span style="color:#a9a9a9;">.</span>ExtensionData<span style="color:#a9a9a9;">.</span>ReconfigureDvs_Task(<span style="color:#ff4500;">$spec</span>)</p>
</div>
<p>I&#8217;ve written about getting around the missing dvPortgroup inheritance in the past, and there are also a couple good posts from Luc Dekens and Alan Renouf:</p>
<p><a href="http://geekafterfive.com/2011/04/04/dvportgroup-inheritance/" rel="nofollow">http://geekafterfive.com/2011/04/04/dvportgroup-inheritance/</a></p>
<p><a href="http://www.lucd.info/2009/10/12/dvswitch-scripting-part-2-dvportgroup/" rel="nofollow">http://www.lucd.info/2009/10/12/dvswitch-scripting-part-2-dvportgroup/</a></p>
<p><a href="http://blogs.vmware.com/vipowershell/2011/11/vsphere-distributed-switch-powercli-cmdlets.html" rel="nofollow">http://blogs.vmware.com/vipowershell/2011/11/vsphere-distributed-switch-powercli-cmdlets.html</a></p>
<p>Last but not least, special thanks to <a href="https://twitter.com/lamw" target="_blank">William Lam</a> for pointing me to the right spot in the API. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/805/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=805&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2013/03/14/setting-default-vdswitch-security-for-vcloud-with-powercli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>
	</item>
		<item>
		<title>vCloud API 5.1 Metadata</title>
		<link>http://geekafterfive.com/2013/02/20/vcloud-api-5-1-metadata/</link>
		<comments>http://geekafterfive.com/2013/02/20/vcloud-api-5-1-metadata/#comments</comments>
		<pubDate>Wed, 20 Feb 2013 17:54:52 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[vcloud 5.1]]></category>
		<category><![CDATA[vCloud API]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=769</guid>
		<description><![CDATA[There has been very good coverage and code samples for working with Metadata in vCloud Director 1.5 (See posts from William, Alan, and Clinton), so this will simply be an update post for Metadata in vCloud Director 5.1. What&#8217;s different? Typed Values - Metadata must now be put into a certain type. No more throwing random [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=769&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>There has been very good coverage and code samples for working with Metadata in vCloud Director 1.5 (See posts from <a href="http://blogs.vmware.com/vsphere/2012/03/creating-custom-metadata-using-the-vcloud-api.html" target="_blank">William</a>, <a href="http://blogs.vmware.com/vipowershell/2012/03/working-with-vcloud-metadata-in-powercli.html" target="_blank">Alan</a>, and <a href="http://velemental.com/2012/03/29/managing-metadata-in-vcd-with-powercli/" target="_blank">Clinton</a>), so this will simply be an update post for Metadata in vCloud Director 5.1.</p>
<h3><span style="color:#3366ff;">What&#8217;s different?</span></h3>
<ol>
<li><a href="http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/types/MetadataTypedValue.html" target="_blank">Typed Values</a> - Metadata must now be put into a certain type. No more throwing random junk into a single metadata entry. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
<li><a href="http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/types/MetadataDomainTagType.html" target="_blank">Domain and Visibility</a> &#8211; Providers now have the ability to provide System metadata entries on objects, which is not editable by users. Providers can additionally make the metadata private, meaning the users cannot see the System metadata on the object at all.</li>
<li><a href="http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/types/MetadataType.html" target="_blank">Objects</a> &#8211; Metadata can now be added to new vCloud Director 5.1 objects, including disks and storage profiles. Additionally, I believe that because OrgVDC networks are now user manageable, vCloud users can add their own metadata to networks.</li>
</ol>
<p>For more instruction on Metadata in the vCloud API, read <a href="http://pubs.vmware.com/vcd-51/index.jsp?topic=%2Fcom.vmware.vcloud.api.doc_51%2FGUID-8D8C68F0-AC63-4134-A57E-326E510FC690.html" target="_blank">&#8220;Working with Object Metadata&#8221;</a> in the vCloud Programming Guide.</p>
<h3><span style="color:#3366ff;">PowerCLI 5.1 R2 example:</span></h3>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vapp </span><span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">Get-CIVapp </span><span style="color:#8b0000;">&#8220;MyVApp&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$metadata </span><span style="color:#a9a9a9;">= </span><span style="color:#ff4500;">$vapp</span><span style="color:#a9a9a9;">.</span>extensiondata<span style="color:#a9a9a9;">.</span>GetMetadata()</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$metadata</span><span style="color:#a9a9a9;">.</span>MetadataEntry <span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.VimAutomation.Cloud.Views.MetadataEntry</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;"># I don&#8217;t have any other metadata, so index is [0].</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$metadata</span><span style="color:#a9a9a9;">.</span>MetadataEntry<span style="color:#a9a9a9;">[</span><span style="color:#800080;">0</span><span style="color:#a9a9a9;">].</span>Key <span style="color:#a9a9a9;">= </span><span style="color:#8b0000;">&#8220;Jake&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$metadata</span><span style="color:#a9a9a9;">.</span>MetadataEntry<span style="color:#a9a9a9;">[</span><span style="color:#800080;">0</span><span style="color:#a9a9a9;">].</span>TypedValue <span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.VimAutomation.Cloud.Views.MetadataStringValue</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$metadata</span><span style="color:#a9a9a9;">.</span>MetadataEntry<span style="color:#a9a9a9;">[</span><span style="color:#800080;">0</span><span style="color:#a9a9a9;">].</span>TypedValue<span style="color:#a9a9a9;">.</span>Value <span style="color:#a9a9a9;">= </span><span style="color:#8b0000;">&#8220;vCloudNerd&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vapp</span><span style="color:#a9a9a9;">.</span>ExtensionData<span style="color:#a9a9a9;">.</span>CreateMetadata(<span style="color:#ff4500;">$metadata</span>)</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/769/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/769/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=769&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2013/02/20/vcloud-api-5-1-metadata/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>
	</item>
		<item>
		<title>vCloud VM and VApp Backups with PowerCLI</title>
		<link>http://geekafterfive.com/2013/02/15/vcloud-vm-and-vapp-backups-with-powercli/</link>
		<comments>http://geekafterfive.com/2013/02/15/vcloud-vm-and-vapp-backups-with-powercli/#comments</comments>
		<pubDate>Fri, 15 Feb 2013 21:38:35 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[Bluelock]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[vCloud API]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=784</guid>
		<description><![CDATA[There are times when a snapshot doesn&#8217;t cut it, and asking the Backup Administrator or Cloud Provider to set up backups doesn&#8217;t make sense. Just a couple examples I&#8217;ve run into as a Cloud Provider: Upgrades with testing could take longer than a snapshot should exist for. Temporary workloads may need backups for &#8220;warm storage&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=784&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://geekafterfive.files.wordpress.com/2013/02/snag-0230.png"><img class="alignnone size-full wp-image-789" alt="vcloud backups" src="http://geekafterfive.files.wordpress.com/2013/02/snag-0230.png?w=490&#038;h=211" width="490" height="211" /></a></p>
<p>There are times when a snapshot doesn&#8217;t cut it, and asking the Backup Administrator or Cloud Provider to set up backups doesn&#8217;t make sense. Just a couple examples I&#8217;ve run into as a Cloud Provider:</p>
<ul>
<li>Upgrades with testing could take longer than a snapshot should exist for.</li>
<li>Temporary workloads may need backups for &#8220;warm storage&#8221;</li>
</ul>
<p>So where is the in-between? Wouldn&#8217;t it be great to hot clone a VM or VApp with some light scheduling and retention capabilities?</p>
<h2 style="text-align:left;"><span style="color:#3366ff;">vCloudBackups is the Powershell module for doing this.</span></h2>
<p>The vCloudBackups powershell module allows you to create local backups of VMs and vApps at any cloud provider running vCloud Director 1.5 or 5.1. By local, I mean the VMs and vApps will currently be cloned to the same storage the workloads are currently running on. If you don&#8217;t trust your SAN with this level of backup, you probably need to talk to you Backup Administrator or cloud provider for that off-site backup. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2><span style="color:#3366ff;">How does it work?</span></h2>
<p>Very simply, the module is just doing hot-clones of VMs or vApps through the vCloud API. When backing up just VMs, they are stored inside a vApp simply called &#8216;Backups.&#8217; Each VM backup is named with the vApp origination, VM name, and a date/time of the backup.</p>
<p>VApp backups are simply just exact copies of the originals, except named titled as Backup with a date/time of the backup.</p>
<p>&#8220;Retention&#8221; is built into the module as a number to keep. The oldest will automatically be deleted.</p>
<p>Scheduling is accomplished through your Windows Task Scheduler and an included script called MyBackups.ps1. Credentials for your vCloud Director login are stored encrypted in a configuration file, meaning NO PLAIN TEXT PASSWORDS!</p>
<p>If you are interested in the vCloud Backups script, please contact me on <a href="twitter.com/jakerobinson" target="_blank">Twitter</a>, <a href="https://plus.google.com/102640615339992680317/" target="_blank">Google+</a>, or the comments below.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/784/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=784&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2013/02/15/vcloud-vm-and-vapp-backups-with-powercli/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2013/02/snag-0230.png" medium="image">
			<media:title type="html">vcloud backups</media:title>
		</media:content>
	</item>
		<item>
		<title>vCloud 5.1 API Support in PowerCLI 5.1 R2</title>
		<link>http://geekafterfive.com/2013/02/11/vcloud-5-1-api-support-in-powercli-5-1-r2/</link>
		<comments>http://geekafterfive.com/2013/02/11/vcloud-5-1-api-support-in-powercli-5-1-r2/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 03:36:41 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[5.1]]></category>
		<category><![CDATA[alan renouf]]></category>
		<category><![CDATA[edge gateway]]></category>
		<category><![CDATA[snapshots]]></category>
		<category><![CDATA[vcd]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=771</guid>
		<description><![CDATA[Quite a few people have been asking about vCloud 5.1 feature support in PowerCLI. Guess what: It&#8217;s here! PowerCLI 5.1 R2 has officially dropped, and the new vCloud 5.1 features are built in! You will find all the new 5.1 API properties and methods in the .extensiondata of objects such as a VM returned by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=771&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Quite a few people have been asking about vCloud 5.1 feature support in PowerCLI. Guess what: It&#8217;s <a href="http://vmware.com/go/powercli" target="_blank">here</a>! PowerCLI 5.1 R2 has officially dropped, and the new vCloud 5.1 features are built in!</p>
<p>You will find all the new 5.1 API properties and methods in the .extensiondata of objects such as a VM returned by Get-CIVM. Snapshots come to mind as a frequent request. Here&#8217;s how to find them:</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vm</span><span style="color:#a9a9a9;">=</span><span style="color:#0000ff;">Get-CIVM </span><span style="color:#8b0000;">&#8220;MyVM&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vm</span><span style="color:#a9a9a9;">.</span>ExtensionData <span style="color:#a9a9a9;">| </span><span style="color:#0000ff;">Get-Member</span></p>
</div>
<p>The .extensiondata property is really the same object as you would get from the Get-CIView cmdlet.</p>
<p>So, lets say we wanted to find out what new fancy 5.1 VM snapshot properties and methods are available to us:</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vm</span><span style="color:#a9a9a9;">=</span><span style="color:#0000ff;">Get-CIVM </span><span style="color:#8b0000;">&#8220;MyVM&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vm</span><span style="color:#a9a9a9;">.</span>ExtensionData <span style="color:#a9a9a9;">| </span><span style="color:#0000ff;">Get-Member</span><span style="color:#8a2be2;">*snapshot*</span></p>
</div>
<p style="text-align:center;"><a href="http://geekafterfive.files.wordpress.com/2013/02/snag-0207.png"><img class="size-full wp-image-772 aligncenter" alt="PowerCLI snapshots" src="http://geekafterfive.files.wordpress.com/2013/02/snag-0207.png?w=490&#038;h=158" width="490" height="158" /></a></p>
<p>From this,  we see that we now have the ability to automate the creation, removal and revert of snapshots in vCloud Director 5.1!</p>
<p>Creating, Reporting on, and Removing snapshots is now easy!</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;"># Create Snapshot (Snapshot memory false, quiece true, snapshot name, description)</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vm</span><span style="color:#a9a9a9;">.</span>extensiondata<span style="color:#a9a9a9;">.</span>CreateSnapshot(<span style="color:#ff4500;">$false</span><span style="color:#a9a9a9;">,</span><span style="color:#ff4500;">$true</span><span style="color:#a9a9a9;">,</span><span style="color:#8b0000;">&#8220;Snapshot&#8221;</span><span style="color:#a9a9a9;">,</span><span style="color:#8b0000;">&#8220;Description&#8221;</span>)</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;"># Get VM snapshot</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vm</span><span style="color:#a9a9a9;">.</span>ExtensionData<span style="color:#a9a9a9;">.</span>GetSnapshotSection()<span style="color:#a9a9a9;">.</span>snapshot</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#006400;"># Remove Snapshots</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$vm</span><span style="color:#a9a9a9;">.</span>ExtensionData<span style="color:#a9a9a9;">.</span>RemoveAllSnapshots()</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;">
<p style="font-family:'Lucida Console';margin:0;background-color:#ffffff;text-align:center;"><a href="http://geekafterfive.files.wordpress.com/2013/02/snag-0215.png"><img class="size-full wp-image-776 aligncenter" alt="SNAG-0215" src="http://geekafterfive.files.wordpress.com/2013/02/snag-0215.png?w=490&#038;h=111" width="490" height="111" /></a></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;">
</div>
<p>Let&#8217;s check out another one. Edge Gateways are new in vCloud Director 5.1. How do we find those without any new cmdlets? Search-Cloud!</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#0000ff;">Search-Cloud </span><span style="color:#000080;">-QueryType </span><span style="color:#8a2be2;">EdgeGateway </span><span style="color:#a9a9a9;">| </span><span style="color:#0000ff;">Get-CIView </span></p>
</div>
<p>Search-Cloud returns a search object, and from this we can get the .NET object with all the properties and methods.</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$edge </span><span style="color:#a9a9a9;">| </span><span style="color:#0000ff;">Get-Member </span></p>
</div>
<p><a href="http://geekafterfive.files.wordpress.com/2013/02/snag-0210.png"><img class="aligncenter size-full wp-image-774" alt="Edge Gateway in PowerCLI" src="http://geekafterfive.files.wordpress.com/2013/02/snag-0210.png?w=490&#038;h=275" width="490" height="275" /></a></p>
<p>Note that we don&#8217;t have to use the .extensiondata, because we used Get-CIView to directly get the .NET object.</p>
<p>Let&#8217;s check out the .configuration!</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$edge</span><span style="color:#a9a9a9;">.</span>configuration</p>
</div>
<p style="text-align:center;"><a href="http://geekafterfive.files.wordpress.com/2013/02/snag-0212.png"><img class="size-full wp-image-775 aligncenter" alt="PowerCLI Edge Gateway Configuration" src="http://geekafterfive.files.wordpress.com/2013/02/snag-0212.png?w=490&#038;h=110" width="490" height="110" /></a></p>
<p>Both the vCloud Admin and Tenant PowerCLI snap-ins have been updated, so if your cloud provider is running on 5.1, enjoy the new features!</p>
<p>Now, this is certainly not all <strong>PowerCLI 5.1 R2</strong> has to offer.  <strong>Powershell 3 support</strong> as well as an <strong>official VDS snap-in</strong> are also available! You can read more about these updates on the <a href="http://blogs.vmware.com/vipowershell/2013/02/powercli-5-1-release-2-now-available.html" target="_blank">Official PowerCLI Blog!</a> For tons of <strong>VDS examples</strong>, See <a href="http://www.virtu-al.net/2013/02/11/powercli-5-1-r2-released/" target="_blank">Alan&#8217;s post</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/771/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/771/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=771&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2013/02/11/vcloud-5-1-api-support-in-powercli-5-1-r2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2013/02/snag-0207.png" medium="image">
			<media:title type="html">PowerCLI snapshots</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2013/02/snag-0215.png" medium="image">
			<media:title type="html">SNAG-0215</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2013/02/snag-0210.png" medium="image">
			<media:title type="html">Edge Gateway in PowerCLI</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2013/02/snag-0212.png" medium="image">
			<media:title type="html">PowerCLI Edge Gateway Configuration</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating new vCloud Organization users with PowerCLI</title>
		<link>http://geekafterfive.com/2012/12/03/creating-new-vcloud-organization-users-with-powercli/</link>
		<comments>http://geekafterfive.com/2012/12/03/creating-new-vcloud-organization-users-with-powercli/#comments</comments>
		<pubDate>Mon, 03 Dec 2012 20:34:10 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[vCloud API]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=758</guid>
		<description><![CDATA[&#160; There is not a New-CIUser cmdlet *yet*, but I&#8217;ll show you the way you can do it now! We&#8217;ll need 3 things: A username, a password, and a role. To get the role we want to assign the user, we&#8217;ll need to use Search-Cloud: Search-Cloud -QueryType Role &#124; select Name This will give us a list of roles. Pick [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=758&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p>There is not a New-CIUser cmdlet *yet*, but I&#8217;ll show you the way you can do it now!</p>
<p>We&#8217;ll need 3 things: A username, a password, and a role.</p>
<p>To get the role we want to assign the user, we&#8217;ll need to use Search-Cloud:</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#0000ff;">Search-Cloud </span><span style="color:#000080;">-QueryType </span><span style="color:#8a2be2;">Role </span><span style="color:#a9a9a9;">| </span><span style="color:#0000ff;">select </span><span style="color:#8a2be2;">Name </span></p>
</div>
<p>This will give us a list of roles. Pick a role name. As an example, I want to add an Org admin, so I am going to run this:</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$role </span><span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">Search-Cloud </span><span style="color:#000080;">-QueryType </span><span style="color:#8a2be2;">Role </span><span style="color:#000080;">-Name </span><span style="color:#8b0000;">&#8220;Organization Administrator&#8221; </span><span style="color:#a9a9a9;">| </span><span style="color:#0000ff;">Get-CIView </span></p>
</div>
<p>The previous line queried for the role, retrieved the role object using Get-CIView and assigned it to the $role variable.</p>
<p>Congrats, that was the hardest part&#8230; on to the good stuff!</p>
<p>We need to do two things next&#8230; Get our Org object, and create a new user object:</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$org </span><span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">Get-Org</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$user </span><span style="color:#a9a9a9;">= </span><span style="color:#0000ff;">New-Object </span><span style="color:#8a2be2;">VMware.VimAutomation.Cloud.Views.User </span></p>
</div>
<p>Now we assign the fun stuff to our user object (name, password, role)!</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$user</span><span style="color:#a9a9a9;">.</span>Name <span style="color:#a9a9a9;">=</span><span style="color:#8b0000;">&#8220;JakeRobinson&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$user</span><span style="color:#a9a9a9;">.</span>Password <span style="color:#a9a9a9;">= </span><span style="color:#8b0000;">&#8220;myPassword&#8221;</span></p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$user</span><span style="color:#a9a9a9;">.</span>Role <span style="color:#a9a9a9;">= </span><span style="color:#ff4500;">$role</span><span style="color:#a9a9a9;">.</span>href</p>
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$user</span><span style="color:#a9a9a9;">.</span>IsEnabled <span style="color:#a9a9a9;">= </span><span style="color:#ff4500;">$true </span></p>
</div>
<p>and finally, we push the user object to our Org:</p>
<div style="text-align:Left;font-family:Segoe UI;font-style:normal;font-weight:normal;font-size:12px;color:#000000;">
<p style="font-family:Lucida Console;margin:0;background-color:#ffffff;"><span style="color:#ff4500;">$org</span><span style="color:#a9a9a9;">.</span>ExtensionData<span style="color:#a9a9a9;">.</span>createUser(<span style="color:#ff4500;">$user</span>)</p>
</div>
<p>So that&#8217;s it! Probably 10 lines of code and we have a new user. The secret is really in the .extensiondata of the objects like $org.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/758/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=758&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2012/12/03/creating-new-vcloud-organization-users-with-powercli/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>
	</item>
		<item>
		<title>[Now Released] vCloud User Training</title>
		<link>http://geekafterfive.com/2012/10/03/coming-soon-vcloud-user-training/</link>
		<comments>http://geekafterfive.com/2012/10/03/coming-soon-vcloud-user-training/#comments</comments>
		<pubDate>Wed, 03 Oct 2012 19:43:40 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[TrainSignal]]></category>
		<category><![CDATA[VMware vSphere]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=701</guid>
		<description><![CDATA[&#160; A challenge for a lot of vCloud Providers is training the vCloud users. The current training available is for running your own vCloud Director environment, and what little there is  for the vCloud users is mixed with provider level stuff as well. This can be very confusing for the users, as you can imagine. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=701&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.trainsignal.com/VMware-vCloud-Director-Organizations-Training.aspx"><img class="wp-image-736 alignright" title="TrainSignal" alt="" src="http://geekafterfive.files.wordpress.com/2012/10/ts_jersey.png?w=235&#038;h=235" height="235" width="235" /></a></p>
<p>&nbsp;</p>
<p>A challenge for a lot of vCloud Providers is training the vCloud users. The current training available is for running your own vCloud Director environment, and what little there is  for the vCloud users is mixed with provider level stuff as well. This can be very confusing for the users, as you can imagine.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>I am thrilled to say that <a href="http://www.trainsignal.com/VMware-vCloud-Director-Organizations-Training.aspx" target="_blank">TrainSignal</a> <span style="color:#008000;">now has</span> <del>will soon be coming out with</del> <a href="http://www.trainsignal.com/VMware-vCloud-Director-Organizations-Training.aspx" target="_blank">a course</a> specifically tailored to vCloud Users!</strong></p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='490' height='306' src='http://www.youtube.com/embed/dGLf0ZiBxt0?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p>The course focuses on using vCloud from an Organization perspective. It includes real world examples, best practices, and pitfalls that I&#8217;ve fallen in so you don&#8217;t have to! In addition, you&#8217;ll learn about some cool tools available to users that integrate with a vCloud Organization.</p>
<p><strong>If you are a provider:</strong> <a href="http://www.trainsignal.com/Contact-Us.aspx" target="_blank">Contact the TrainSignal team</a> to inquire how you can provide this course to your vCloud users.</p>
<p><strong>If you are a user:</strong> Pass this info along to your vCloud Provider, or you can simply purchase <a href="http://www.trainsignal.com/VMware-vCloud-Director-Organizations-Training.aspx" target="_blank">the course</a>!</p>
<p>Shout outs to Sean and the rest of the TrainSignal team for all the hard work making my first authored course a reality!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/701/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=701&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2012/10/03/coming-soon-vcloud-user-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2012/10/ts_jersey.png" medium="image">
			<media:title type="html">TrainSignal</media:title>
		</media:content>
	</item>
		<item>
		<title>vCloud Director Snapshots with PowerCLI</title>
		<link>http://geekafterfive.com/2012/10/02/vcloud-director-snapshots-with-powercli/</link>
		<comments>http://geekafterfive.com/2012/10/02/vcloud-director-snapshots-with-powercli/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 21:47:22 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[snapshots]]></category>
		<category><![CDATA[vCloud API]]></category>
		<category><![CDATA[vcloud director 5.1]]></category>
		<category><![CDATA[Windows Powershell]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=729</guid>
		<description><![CDATA[If you or your provider are already running vCloud Director 5.1, you now have access to take a single snapshot of your VMs! If you want to play with snapshots in PowerCLI, you&#8217;re going to need the module in this blog. PowerCLI 5.1 currently only supports the vCloud API 1.5, which means there are no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=729&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>If you or your provider are already running vCloud Director 5.1, you now have access to take a single snapshot of your VMs!</p>
<p>If you want to play with snapshots in PowerCLI, you&#8217;re going to need the module in this blog. PowerCLI 5.1 currently only supports the vCloud API 1.5, which means there are no 5.1 API capabilities yet. (I stress &#8220;yet.&#8221; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )</p>
<p>The module uses the current PowerCLI for it&#8217;s session and API access, and then bolts on some 5.1 API snapshot magic.</p>
<p>To use the module, simply download the <a href="https://dl.dropbox.com/u/225399/vCloudSnapshots.psm1" target="_blank">.psm1 file</a> and:</p>
<pre class="brush: powershell; title: ; notranslate">

Import-Module vCloudSnapshots.psm1

</pre>
<p>After that, you&#8217;ll have access to 4 cmdlets:</p>
<pre class="brush: powershell; title: ; notranslate">

Get-CISnapshot
New-CISnapshot
Remove-CISnapshot
Set-CISnapshot

</pre>
<p>To get snapshots:</p>
<pre class="brush: powershell; title: ; notranslate">

# Get vApps with Snapshots
Get-CIVapp | Get-CISnapshot

# Get VMs with Snapshots
Get-CIVM | Get-CISnapshot

# Get Snapshot info for a particular VM
Get-CIVM &quot;MyVM&quot; | GetCISnapshot

</pre>
<p>It should be noted that all the cmdlets apply to a VM or vApp, so always make sure you&#8217;re doing a Get-CIVM or Get-CIVapp first.</p>
<p>For example&#8230;here&#8217;s creating, reverting, and removing:</p>
<pre class="brush: powershell; title: ; notranslate">

# Create a snapshot for a vApp (or all VMs in the vApp, really.)
Get-CIVApp &quot;MyVApp&quot; | New-CISnapshot

# Revert to our snapshot
Get-CIVApp &quot;MyVApp&quot; | Set-CISnapshot -revertToCurrent

# Remove our snapshot
Get-CIVApp &quot;MyVApp&quot; | Remove-CISnapshot

</pre>
<p>For more help, just use <span style="color:#0000ff;">Get-Help</span> and the command!</p>
<p><a href="https://dl.dropbox.com/u/225399/vCloudSnapshots.psm1" target="_blank">vCloud Snapshots Powershell Module</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/729/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=729&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2012/10/02/vcloud-director-snapshots-with-powercli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>
	</item>
		<item>
		<title>Cloud Automation with PowerCLI</title>
		<link>http://geekafterfive.com/2012/08/20/cloud-automation-with-powercli/</link>
		<comments>http://geekafterfive.com/2012/08/20/cloud-automation-with-powercli/#comments</comments>
		<pubDate>Mon, 20 Aug 2012 18:55:29 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[2448]]></category>
		<category><![CDATA[cloud automation]]></category>
		<category><![CDATA[ucs powertool]]></category>
		<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[vmworld]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=696</guid>
		<description><![CDATA[I have the distinct privilege to present with Alan Renouf and Eric Williams this year at VMworld. The session is entitled Automating Bare Metal to the Cloud and Beyond. In this session, Eric will demonstrate the use of PowerCLI and UCS PowerTool to quickly deploy your own cloud infrastructure with a single script. (Amazing!) After the cloud [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=696&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I have the distinct privilege to present with Alan Renouf and Eric Williams this year at VMworld.</p>
<p>The session is entitled <a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=2448" target="_blank">Automating Bare Metal to the Cloud and Beyond</a>.</p>
<p>In this session, Eric will demonstrate the use of PowerCLI and UCS PowerTool to quickly deploy your own cloud infrastructure with a single script. (Amazing!)</p>
<p>After the cloud is built, I will share how real world examples of how Bluelock uses PowerCLI from a provider standpoint. From on-boarding new clients to gathering performance statistics, PowerCLI is a big part of the automation strategy at Bluelock.</p>
<p>It doesn&#8217;t end there! I will also share how vCloud Organization users and admins are using PowerCLI for reporting and automation of the public and hybrid cloud! You&#8217;ll see some cool examples of how PowerCLI can best the vCloud Web UI!</p>
<p>Alan will be sharing some great PowerCLI learning resources as well, making this session not one to be missed.</p>
<p>So what are you waiting for? <a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=2448" target="_blank">Go sign up!</a></p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='490' height='306' src='http://www.youtube.com/embed/M4fCFo0ljbk?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/696/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=696&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2012/08/20/cloud-automation-with-powercli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>
	</item>
		<item>
		<title>Uploading VMs to vCloud with OVFtool</title>
		<link>http://geekafterfive.com/2012/08/08/uploading-vms-to-vcloud-with-ovftool/</link>
		<comments>http://geekafterfive.com/2012/08/08/uploading-vms-to-vcloud-with-ovftool/#comments</comments>
		<pubDate>Wed, 08 Aug 2012 21:42:57 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[vCloud]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[missing vapp key]]></category>
		<category><![CDATA[Open Virtualization Format]]></category>
		<category><![CDATA[ovf]]></category>
		<category><![CDATA[ovftool]]></category>
		<category><![CDATA[vCloud Director]]></category>
		<category><![CDATA[Windows Powershell]]></category>

		<guid isPermaLink="false">http://geekafterfive.com/?p=682</guid>
		<description><![CDATA[VMware&#8217;s OVFtool is a command line tool that allows you to convert VMware Virtual Machines to Open Virtualization Format, or OVF. In the latest version, it can also upload VMs to vCloud Director for you as well! To do this, OVFtool simply requires a source (VMX or OVF), and a destination (a vCloud Locator). The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=682&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>VMware&#8217;s OVFtool is a command line tool that allows you to convert VMware Virtual Machines to Open Virtualization Format, or OVF. In the latest version, it can also upload VMs to vCloud Director for you as well!</p>
<p>To do this, OVFtool simply requires a source (VMX or OVF), and a destination (a vCloud Locator).</p>
<p>The vCloud locator looks something like this:</p>
<pre class="brush: plain; title: ; wrap-lines: false; notranslate">
vcloud://username:password@host:port?org=name_of_org&amp;vapp=name_of_deployed_vapp&amp;catalog=name_of_catalog&amp;vappTemplate=name_of_vapp_template_in_catalog&amp;vdc=name_of_vdc
</pre>
<p>As you can see, the vCloud Locator is a URL with all of the information needed to upload your OVF.</p>
<p>Because OVFtool is run from the command line, the simple choice when using Windows is to use the command prompt. Using the Windows command prompt, however, results in errors when uploading to vCloud Director:</p>
<div id="attachment_684" class="wp-caption alignnone" style="width: 500px"><a href="http://geekafterfive.files.wordpress.com/2012/08/snag-0164.png"><img class="size-full wp-image-684" title="ovftool error" src="http://geekafterfive.files.wordpress.com/2012/08/snag-0164.png?w=490&#038;h=55" alt="ovftool error" width="490" height="55" /></a><p class="wp-caption-text">ovftool error</p></div>
<p>This is most likely because of the special characters ovftool uses in the URL (&amp;, :, ?, @). If I had to guess, I&#8217;d say it&#8217;s the ampersand.</p>
<p>I tried quoting out the vCloud Locator several different ways to get it to understand, but resorted to Powershell to save the day once again.</p>
<pre class="brush: powershell; title: ; notranslate">

$vCloudLocator = &quot;vcloud://jake:password@vcloud.example.com:443?org=jake&amp;vappTemplate=MyTemplate&amp;catalog=private&quot;

$sourceFile = &quot;C:\jake\MyVM.vmx&quot;

$ovftool = &quot;C:\Program Files\VMware\VMware OVF Tool\ovftool.exe&quot;

&amp; $ovftool $sourceFile $vCloudLocator

</pre>
<p>Powershell treats the characters are part of the string, so we just simply pass the string as a parameter to OVFtool.</p>
<p>Hope this saves someone a headache! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>For more OVFtool fun, check out my post on using <a title="Powers Combined: PowerCLI and OVFTool" href="http://geekafterfive.com/2011/10/07/powers-combined-powercli-and-ovftool/">OVF tool with PowerCLI with your vSphere session</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/geekafterfive.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/geekafterfive.wordpress.com/682/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=geekafterfive.com&#038;blog=18937350&#038;post=682&#038;subd=geekafterfive&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://geekafterfive.com/2012/08/08/uploading-vms-to-vcloud-with-ovftool/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/320ac6648e4ca57065e35ff8a6411296?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Jake</media:title>
		</media:content>

		<media:content url="http://geekafterfive.files.wordpress.com/2012/08/snag-0164.png" medium="image">
			<media:title type="html">ovftool error</media:title>
		</media:content>
	</item>
	</channel>
</rss>
