 




<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Virtualization Pro &#187; Hal Rottenberg</title>
	<atom:link href="http://itknowledgeexchange.techtarget.com/virtualization-pro/tag/hal-rottenberg/feed/" rel="self" type="application/rss+xml" />
	<link>http://itknowledgeexchange.techtarget.com/virtualization-pro</link>
	<description>A SearchVMware.com blog</description>
	<lastBuildDate>Fri, 22 Feb 2013 17:58:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Checking out PowerWF</title>
		<link>http://itknowledgeexchange.techtarget.com/virtualization-pro/checking-out-powerwf/</link>
		<comments>http://itknowledgeexchange.techtarget.com/virtualization-pro/checking-out-powerwf/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 00:00:51 +0000</pubDate>
		<dc:creator>Halr9000</dc:creator>
				<category><![CDATA[Hal Rottenberg]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/virtualization-pro/?p=1144</guid>
		<description><![CDATA[In case you haven’t heard, a little company called Devfarm Software has been working on a product called PowerWF (pictured, right). They had a great demo at VMworld 2009, and I was so impressed that I gave them five minutes at the end of my own breakout session to do a demo for my audience. I’m [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_1145" class="wp-caption alignright" style="width: 119px"><a href="http://cdn.ttgtmedia.com/ITKE/uploads/blogs.dir/28/files/2009/10/10-24-2009-12-11-57-am.png"><img class="size-thumbnail wp-image-1145" src="http://cdn.ttgtmedia.com/ITKE/uploads/blogs.dir/28/files/2009/10/10-24-2009-12-11-57-am.png" alt="Screenshot of PowerWF" width="109" height="96" /></a><p class="wp-caption-text">Screenshot of PowerWF</p></div>
<p>In case you haven’t heard, a little company called <a href="http://vmxbuilder.com/">Devfarm Software</a> has been working on a product called <a href="http://powerwf.com/PowerWorkflow.html">PowerWF</a> (pictured, right). They had a great demo at VMworld 2009, and I was so impressed that I gave them five minutes at the end of my own breakout session to do a demo for my audience.</p>
<p>I’m a big PowerShell and <a href="http://vmware.com/go/powercli">PowerCLI</a> nut, so why do I care about some graphical user interface (GUI) application? Well, there are two answers to that. One, PowerShell is an automation engine, not just the command-line shell. There are plenty of tools out there which use PowerShell behind the scenes to enable the user to automate tasks. Exchange 2007’s admin console and <a href="http://thevesi.org">VESI</a> (which I need to spend some time talking about soon) are just two examples. Just because I like to write scripts doesn’t mean I don’t respect the GUI.<span id="more-1144"></span></p>
<p>The second answer is that PowerWF is sort of like scripting with Visio diagrams. At its heart is the concept of a workflow. A workflow is a graphical representation of a series of steps which belong to a task which you want to automate. There’s hundreds, maybe thousands of these steps available. They arranged on the left of the window in a palette with several collapsible headings such as FlowControl, Visualization, and of course, VMware PowerCLI.</p>
<p>Yeah, now you can see where I’m going. The Devfarm guys have been doing VMware solutions for a while, so it is natural that their workflow tool integrates very heavily with VMware’s products. In fact, you can do stuff with <a href="http://www.vmware.com/support/developer/vix-api/">VIX</a>, not just PowerCLI, so that opens some possibilities for you guys using that API to automate VMs and guests.</p>
<p>Anyway, I’ve been really vague so far, so I feel the need to give some concrete examples of what the heck PowerWF can do. I have to admit that I’m still a newbie with it, so I’m going to cheat here and point you to some videos that the Devfarm guys made:</p>
<ul>
<li><a href="http://www.youtube.com/user/powerworkflow#p/u/11/8RdQ_Z-oPl4">Transcribing PowerShell scripts as Worfklows</a></li>
<li><a href="http://www.youtube.com/user/powerworkflow#p/u/5/TGOrkgOB07o">Convert PowerShell/PowerCLI to Workflow</a></li>
</ul>
<p>PowerWF is really, really big. I mean, it can do a lot of stuff. It can cover most any task that you would do with PowerCLI. It can run PowerShell scripts. It can output information in a variety of ways, such as console, text file, RSS feed, HTML, or datagrid. It can also do some really interesting things I haven’t even fully grokked yet such as create WMI classes and Web services.</p>
<p>In order to help you get started working with PowerWF you may want to check out these blog posts that the team is working on:</p>
<ul>
<li><a href="http://blog.powerwf.com/post/212184431/what-is-workflow-anyway">What is a Workflow Anyway?</a></li>
<li><a href="v">PowerWF Layout and Terminology</a></li>
</ul>
<p>As I said, I’m just getting started with the application myself, so I’ll try to report back to the blog with my findings as I get deeper into the product.</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/virtualization-pro/checking-out-powerwf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The vSphere API is not just for programmers</title>
		<link>http://itknowledgeexchange.techtarget.com/virtualization-pro/the-vsphere-api-is-not-just-for-programmers/</link>
		<comments>http://itknowledgeexchange.techtarget.com/virtualization-pro/the-vsphere-api-is-not-just-for-programmers/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 19:00:52 +0000</pubDate>
		<dc:creator>Halr9000</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Hal Rottenberg]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[vSphere]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/virtualization-pro/?p=1088</guid>
		<description><![CDATA[The topic of the VMworld 2009 session which Luc Dekens and I gave recently was how to take PowerCLI to the next level. I&#8217;ll explain that premise for a bit in this post for those who may not have been able to make it to the session (or the show, for that matter). PowerCLI has [...]]]></description>
				<content:encoded><![CDATA[<p>The topic of the VMworld 2009 session which <a href="http://lucd.info/">Luc Dekens</a> and I gave recently was how to take <a href="http://vmware.com/go/powercli">PowerCLI</a> to the next level. I&#8217;ll explain that premise for a bit in this post for those who may not have been able to make it to the session (or the show, for that matter).</p>
<p>PowerCLI has a lot of functionality built in. As of this writing, there are 165 cmdlets that let you do a wide range of tasks such as starting virtual machines or creating virtual switches. Cmdlets are great because they are high-level, task-based, and their usage is mostly consistent across all domains, whether you are talking about virtualization or managing your mail servers.</p>
<p>Here&#8217;s a PowerShell command which will display all of the various types of objects which you can manipulate with PowerCLI. <span id="more-1088"></span>As you can see from the output, the scope is pretty broad:</p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">PS &gt; Get-VICommand | sort noun | group noun | Format-Wide name<br />
</span></p>
<p style="margin-left: 7pt">
<p style="margin-left: 7pt"><span style="font-family: Consolas">CDDrive                                   Cluster<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">CustomField                               Datacenter<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">Datastore                                 DrsRule<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">FloppyDrive                               Folder<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">HardDisk                                  Inventory<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">Log                                       LogType<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">NetworkAdapter                            OSCustomizationSpec<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">ResourcePool                              ScsiLun<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">ScsiLunPath                               Snapshot<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">Stat                                      StatInterval<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">StatType                                  Task<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">Template                                  Tools<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VICredentialStoreItem                     VIEvent<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">View                                      VIObjectByVIView<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VirtualPortGroup                          VirtualSwitch<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VIServer                                  VIToolkitConfiguration<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VIToolkitVersion                          VM<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMGuest                                   VMHost<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostAccount                             VMHostAdvancedConfiguration<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostDiagnosticPartition                 VMHostFirewallDefaultPolicy<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostFirewallException                   VMHostFirmware<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostModule                              VMHostNetwork<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostNetworkAdapter                      VMHostNtpServer<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostProfile                             VMHostProfileCompliance<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostService                             VMHostSnmp<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostStartPolicy                         VMHostStorage<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMHostSysLogServer                        VMResourceConfiguration<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">VMScript                                  VMStartPolicy<br />
</span></p>
<p>Even so, the vSphere application programming interface (API) is so large that there are still an astonishing number of things which are not handled by the existing set of cmdlets. Sure, VMware continues to work on this toolkit and to expand its capabilities — the rumor is that over 200 cmdlets will ship with version 4.1 &#8212; but the team that works on PowerShell is limited by time and resources, so it&#8217;s doubtful that they&#8217;ll reach parity with the API anytime soon.</p>
<p>Luckily, there is a release valve — a hidden door, if you like, that will let you go behind the scenes to go where no VMware Infrastructure (oops, meant to say vSphere) admin has gone before. The name of that hidden door is the <strong>Get-View</strong> cmdlet. &#8220;Get&#8221; in the PowerShell world just means to retrieve an object from somewhere. But what is it really that you are getting? You are getting an unfiltered view of the &#8220;managed objects&#8221; which make up the heart of the API. Once you have that view, you can do anything you want which the underlying API supports.</p>
<p>Here is a quick example of the sort of cool things you can see with Get-View:</p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">PS &gt; $h = Get-VMHost | Get-View<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">PS &gt; $h.Summary.Config.Product<br />
</span></p>
<p style="margin-left: 7pt">
<p style="margin-left: 7pt"><span style="font-family: Consolas">Name                  : VMware ESX<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">FullName              : VMware ESX 4.0.0 build-164009<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">Vendor                : VMware, Inc.<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">Version               : 4.0.0<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">Build                 : 164009<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">LocaleVersion         : INTL<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">LocaleBuild           : 000<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">OsType                : vmnix-x86<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">ProductLineId         : esx<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">ApiType               : HostAgent<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">ApiVersion            : 4.0<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">InstanceUuid          :<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">LicenseProductName    : VMware ESX Server<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">LicenseProductVersion : 4.0<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">DynamicType           :<br />
</span></p>
<p style="margin-left: 7pt"><span style="font-family: Consolas">DynamicProperty       :<br />
</span></p>
<p>And now you know how to write a script to make sure your host servers are all on the same patch level!</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/virtualization-pro/the-vsphere-api-is-not-just-for-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
