<?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>mwpreston.net</title>
	<atom:link href="http://blog.mwpreston.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mwpreston.net</link>
	<description>Just me trying to put my brain into words :)</description>
	<lastBuildDate>Fri, 10 May 2013 13:47:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Friday Shorts &#8211; #Veeam SureReplica, #TOVMUG wagging, Au Revoir Les Habitants!</title>
		<link>http://blog.mwpreston.net/2013/05/10/friday-shorts-veeam-surereplica-tovmug-wagging-au-revoir-les-habitants/</link>
		<comments>http://blog.mwpreston.net/2013/05/10/friday-shorts-veeam-surereplica-tovmug-wagging-au-revoir-les-habitants/#comments</comments>
		<pubDate>Fri, 10 May 2013 13:47:43 +0000</pubDate>
		<dc:creator>Mike Preston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Friday Shorts]]></category>
		<category><![CDATA[Habs]]></category>
		<category><![CDATA[Toronto VMUG]]></category>
		<category><![CDATA[Veeam]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2861</guid>
		<description><![CDATA[And now a 24th Stanley Cup banner will hang from the rafters of the famous Forum in Montreal! The Canadiens win the Stanley Cup!. &#8211; CBC&#8217;s Bob Cole in the dying seconds of game 5 of the 1993 Stanley Cup Finals Veeam v7 adds SureReplica Veeam has announced another feature of their upcoming release of Backup [...]]]></description>
				<content:encoded><![CDATA[<blockquote><p>And now a 24th Stanley Cup banner will hang from the rafters of the famous Forum in Montreal! The Canadiens win the Stanley Cup!. &#8211; <strong>CBC&#8217;s Bob Cole in the dying seconds of game 5 of the 1993 Stanley Cup Finals<br />
</strong></p></blockquote>
<h3><strong style="font-size: 1.17em;">Veeam v7 adds SureReplica</strong></h3>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2012/06/veeamlogo.jpg"><img class="alignleft colorbox-2861" style="margin: 5px;" alt="veeamlogo" src="http://blog.mwpreston.net/wp-content/uploads/2012/06/veeamlogo.jpg" width="284" height="64" /></a>Veeam has announced another feature of their upcoming release of Backup and Replication v7.  This time, applying the virtual lab and their SureBackup technology to your Veeam Replica&#8217;s &#8211; <a href="http://www.veeam.com/blog/countdown-to-v7-virtual-labs-for-vmware-replicas.html" target="_blank">SureReplica</a>.   A lot of environments I have seen that use Veeam use it to backup locally and replicate to a DR site.  So being able to put all of those dedicated resources in your DR site to work and spin up those replica&#8217;s inside isolated labs is a pretty awesome feature.  Aside from simply ensuring the integrity of the replica there are many use cases for an isolated virtual lab.  Think of things like patch management testing, application update testing, penetration testing, the list goes on and on!  This was only the 7th feature unveiled of v7 and Veeam has a couple more to showcase before finally releasing the product sometime this year <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2861' />    <a href="http://go.veeam.com/v7" target="_blank">Sign up if you interested in being on of the first to know the new features</a>.</p>
<h3><strong>TOVMUG Represent!</strong></h3>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2012/04/TorontoVMUG1-300x79.png"><img class="alignright size-full wp-image-1556 colorbox-2861" alt="TorontoVMUG1-300x79" src="http://blog.mwpreston.net/wp-content/uploads/2012/04/TorontoVMUG1-300x79.png" width="300" height="79" /></a>You can&#8217;t be involved in the virtualization community and not know about Mike Lavericks&#8217; chinwags!   If you don&#8217;t, certainly <a href="http://www.mikelaverick.com/2013/04/chinwag-with-angelo-luciani-angeloluciani/" target="_blank">his latest one </a>with Toronto VMUG Leader Angelo Luciani is a good one to start out with.  They had a great conversation in regards to VMUGs and community participation.  I&#8217;d definitely recommend checking it out!</p>
<h3><strong>Hey!  They were supposed to be 14th!</strong></h3>
<p>No surprise to anyone that follows me, or even reads the odd rant on this blog that I&#8217;m a huge Montreal Canadiens fan.  Well last night was a hard one to swallow but the team I&#8217;ve watched rally to 2nd place in the East were eliminated from the playoffs.  As much as I&#8217;d like to place blame on the refereeing, the 6 key injuries, the horrible icing calls, the fact of the matter is the Habs just weren&#8217;t good enough and Ottawa wanted it more.  Also they ran into some pretty steller goaltending by Anderson and it&#8217;s hard to beat that.   Either way its been nice to see that spark back into the Habs lineup, the one that used to be there when I was a kid.  For once in the last 10 years it&#8217;s evident that the habs have a future ahead of them with some great young players.  Au Revoir Les Habitants.  Lever Le Flambeau!</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/168444904_slide.jpg"><img class="aligncenter size-full wp-image-2867 colorbox-2861" alt="168444904_slide" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/168444904_slide.jpg" width="810" height="540" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/05/10/friday-shorts-veeam-surereplica-tovmug-wagging-au-revoir-les-habitants/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First vCenter Orchestrator Workflow – Part 5 &#8211; A little bit of SQL</title>
		<link>http://blog.mwpreston.net/2013/05/08/my-first-vcenter-orchestrator-workflow-part-5-a-little-bit-of-sql/</link>
		<comments>http://blog.mwpreston.net/2013/05/08/my-first-vcenter-orchestrator-workflow-part-5-a-little-bit-of-sql/#comments</comments>
		<pubDate>Wed, 08 May 2013 18:22:55 +0000</pubDate>
		<dc:creator>Mike Preston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Powercli]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[vCO]]></category>
		<category><![CDATA[vSphere 5.1]]></category>
		<category><![CDATA[vSphere Web Client]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2836</guid>
		<description><![CDATA[Thus far in this series of posts we have installed and configured vCenter Orchestrator as well as setup and utilized a couple of plugins; the vCenter plug-in and the PowerShell plug-in.  Before the series ends I wanted to go through one more plug-in.  The SQL plug-in.  The SQL plug-in is used for, well, you guessed it; running [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/orchestratepart5.jpg"><img class="alignright  wp-image-2843 colorbox-2836" style="border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; margin: 4px;" alt="orchestratepart5" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/orchestratepart5-223x300.jpg" width="156" height="210" /></a>Thus far in this series of posts we have installed and configured vCenter Orchestrator as well as setup and utilized a couple of plugins; the vCenter plug-in and the PowerShell plug-in.  Before the series ends I wanted to go through one more plug-in.  The SQL plug-in.  The SQL plug-in is used for, well, you guessed it; running SQL queries against a database.  If you remember in <a title="My First vCenter Orchestrator Workflow – Part 4 – A look at the Powershell Plug-in" href="http://blog.mwpreston.net/2013/04/19/my-first-vcenter-orchestrator-workflow-part-4-a-look-at-the-powershell-plug-in/">Part 4</a> we setup a workflow that took two input parameters; a host and a location code.  The script then went on to create a new port group on a vSwitch named locationcode-VM_Network.  The logic in itself works fine and the workflow validates, the only problem I see with it is that the user needs to enter the &#8216;location code&#8217; manually as an input.  Now I know you are all very careful and take your time when doing things, but I&#8217;m not, and more than likely after doing this 40 or 50 times you can count on me keying in that location code wrong <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2836' />  &#8211; Enter the SQL plugin.</p>
<p>So the setup is as follows; I have a database containing a table with the following columns; locationcode and deployed (boolean).  What I would like to do is have an input parameter that would allow me to select the location code from a list of non-deployed locations in a drop-down box (rather than manually enter this information in), and in turn pass the location code to my PowerShell script.  Once the script has ran I&#8217;d like to update the deployed column for that specific location, ensuring it isn&#8217;t displayed in the list again in turn ensuring I can&#8217;t deploy the same location twice.  Make sense?  I know it&#8217;s a lot to follow but the concepts of setting it up are pretty much the same no matter what you are looking to do.</p>
<p>Alright &#8211; enough background &#8211; Let&#8217;s get into it.  I&#8217;m not going to go through the installation of the SQL Plug-in &#8211; it&#8217;s exactly the same installation process as the Powershell plug-in which <a title="My First vCenter Orchestrator Workflow – Part 4 – A look at the Powershell Plug-in" href="http://blog.mwpreston.net/2013/04/19/my-first-vcenter-orchestrator-workflow-part-4-a-look-at-the-powershell-plug-in/">we covered in Part 4</a>.  Similar to how we setup our Powershell host we need to setup our SQL server database connection inside of vCO.  To do this fire up your vCO client and navigate through the workflow tree to Library-&gt;SQL-&gt;Configuration and select the &#8216;Add a database&#8217; workflow, right click and Start Workflow.  There are a few parameters as you can see that we need to pass to the workflow in order for it to successfully run.  First, give this connection a name and select your desired Database Type &#8211; in my case MS SQL.  Also here we need to pass a Connection URL.  Now if you don&#8217;t know anything about jdbc connection urls no fear, it&#8217;s not that difficult.  Simply enter it in the the following format&#8230;</p>
<pre>jdbc:jtds:sqlserver://[SERVERNAME]:[SERVERPORT]/[DATABASENAME]</pre>
<p>So, for a SQL Server with named DC.lab.local running on the default port 1433 and  database named ServerDeploy you would use the following&#8230;</p>
<pre>jdbc:jtds:sqlserver://dc.lab.local:1433/ServerDeploy</pre>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/SetupSQLPic1.png"><img class="aligncenter size-full wp-image-2844 colorbox-2836" alt="SetupSQLPic1" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/SetupSQLPic1.png" width="978" height="417" /></a></p>
<p>After clicking Next we are once again presented with our Shared/Per User session mode &#8211; again, I chose shared to use one simple set of credentials rather than a per user authentication.  When you are ready click &#8216;Submit&#8217; to add your new database to vCO&#8217;s inventory.  One thing to note here is that this step is not necessary   If we wanted we could perform all of this at run time inside code, however for tutorial purposes and learning purposes it&#8217;s sometimes easier to do it this way.</p>
<p>Alright, nuff config!  It&#8217;s time now to get started on our task at hand; Querying the database for non-deployed servers and pushing the result as a drop-down box as an input parameter to our workflow that we created in Part 4.  First off there is a simple change we need to make to our existing workflow.  Here&#8217;s a tip &#8211; don&#8217;t feel like buffalo-ing your original workflow, simply right click on it and  select &#8216;Duplicate Workflow&#8217; to copy it.  OK, first off we need a new attribute.  We originally have locationcode setup an input parameter of type string &#8211; and we still need this, however the result we get back from our database will be an array of strings.  So, on the General tab of your workflow create a new attribute called  databaseParameter of type SQL:Database and assign it the value of the Database we created earlier (this should allow you to browse the inventory to do so).  Once you are done that simply Save &amp; Close and continue on with any validation errors.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic1-NewAttr.png"><img class="aligncenter size-full wp-image-2845 colorbox-2836" alt="Workflow-pic1-NewAttr" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic1-NewAttr.png" width="922" height="194" /></a></p>
<p>So here comes the real magic!   We need to take that database attribute and pass it to a newly created action which will in turn spit out an array of string attributes (our locations in our database).   Again, you could do the following all in script embedded within your workflow, but you never know when you are going to need to reuse something so I&#8217;ve decided to create a new action to do so.    To create an new action be sure you are on &#8216;Design&#8217; view from within your client and click on the actions tab in the left hand side menu.  Where you place your action doesn&#8217;t really matter, I chose to right click com.vmware.library.sql and create my action inside that module.  Just remember where you put it and what you named it:).</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic2-NewAction.png"><img class="aligncenter size-full wp-image-2846 colorbox-2836" alt="Workflow-pic2-NewAction" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic2-NewAction.png" width="647" height="202" /></a></p>
<p>OK, you should now be in the Action editor.  This is where we are going to place the code that does all the querying of the database.  As I said earlier we need to pass this Action a database parameter and it will return an array of string.   The setup of input parameters and return types, along with all the other work we are going to do is all done on the scripting tab.  First off define your return type of an Array/string.  Secondly add an input parameter of type SQL:Database.  You can see all of this outlined in the capture below&#8230;</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic2b-ActionEditor.png"><img class="aligncenter size-full wp-image-2847 colorbox-2836" alt="Workflow-pic2b-ActionEditor" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic2b-ActionEditor.png" width="846" height="483" /></a></p>
<p>Hey!  That was easy!  Now it&#8217;s time for a little scripting.  vCO script is nothing but Javascript which calls the rich set of API&#8217;s that vSphere provides, along with the functions and properties of all the plug-ins provided in vCO.  The script I used is displayed below&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">var</span> resultingArray <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">new</span> <span style="">Array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">var</span> query <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;SELECT locationcode FROM Locations WHERE deployed = 0&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">var</span> resultingActiveRecords <span style="color: #339933;">=</span> databaseParameter.<span style="color: #660066;">readCustomQuery</span><span style="color: #009900;">&#40;</span>query<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">for</span> each <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">var</span> resultRecord <span style="color: #000066; font-weight: bold;">in</span> resultingActiveRecords<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">var</span> locationcode <span style="color: #339933;">=</span> resultRecord.<span style="color: #660066;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;locationcode&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
resultingArray.<span style="color: #660066;">push</span><span style="color: #009900;">&#40;</span>locationcode<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">return</span> resultingArray<span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Simply paste this into the script pane of your action.  As you can see it&#8217;s a pretty simple script.  Creates and array, queries our database, pushes the locationcode column value of each record returned into that array and finally returns the array.  So &#8211; time to Save and Close and head back to our workflow.</p>
<p>So at this point we are left with 2 tasks.  The first being the creation of the drop-down box as an input.  To do this we will need to change the way our original input parameter, locationcode, is displayed.  This is done on the Presentation tab of our script editor.  Be sure you have selected locationcode in the Presentation tree that the top of the screen and select the icon to add a new property to it.  There are many several different properties listed but the one we are after is called Predefined list of elements.  Under the value field of our new property select the icon to assign an action.  In the popup find/filter for our action we created earlier, assign the actions parameter to our database parameter and click Apply.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/WorkFlow-pic3-RunAction.png"><img class="aligncenter size-full wp-image-2848 colorbox-2836" alt="WorkFlow-pic3-RunAction" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/WorkFlow-pic3-RunAction.png" width="1279" height="540" /></a></p>
<p>There done right&#8230;well, kinda, you could run the workflow now and it would populate our input and it would go ahead and run the PowerCLI script and the VM Network would be created, however if you remember it was my intent to go back at the end of the workflow and update our database to ensure that the same locationcode could not be selected twice.  To do this we will need to drag a new Scriptable task element to run after we invoke our PowerCLI script.  Inside this scriptable task we will need to import a couple of local attributes in order to accomplish the sql we need to do, the locationcode, and the databaseParameter.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic4-NewScriptableTask.png"><img class="aligncenter size-full wp-image-2849 colorbox-2836" alt="Workflow-pic4-NewScriptableTask" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic4-NewScriptableTask.png" width="796" height="596" /></a></p>
<p>As for the script it&#8217;s going to look very similar to the syntax that we placed inside of our action with the exception of and executeCustomQuery function in place of the readCustomQuery and the actual query itself is different.  The following is what I used&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">var</span> query <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;UPDATE locations SET deployed= 1 WHERE locationcode= '&quot;</span> <span style="color: #339933;">+</span> locationcode<span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;'&quot;</span><span style="color: #339933;">;</span>
databaseParameter.<span style="color: #660066;">executeCustomQuery</span><span style="color: #009900;">&#40;</span>query<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>And now at last we are done!!  Go ahead and run your workflow, either from within the vCO client or the Web Client and you should now see a drop-down selection for the locationcode.  Once it&#8217;s selected once the script will run, create the VM Network, then update our database to ensure that the selected locationcode is not shown again in the drop-down.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic5-alldone.png"><img class="aligncenter size-full wp-image-2850 colorbox-2836" alt="Workflow-pic5-alldone" src="http://blog.mwpreston.net/wp-content/uploads/2013/05/Workflow-pic5-alldone.png" width="757" height="173" /></a></p>
<p>So that my friends is the end of the line for me on creating my first vCenter Orchestrator Workflow but it is most definitely not the end of the line with vCO.  With access to a huge set of vSphere API&#8217;s along with all of the functionality and properties provided by its&#8217; plugins, throw in some sweet integration with the vSphere Web Client I&#8217;m beginning to see my usage of vCO ramp up within my current role.  This series has hardly even grazed the surface in terms of vCO&#8217;s functionality so I urge you all to go out there and learn as much as you can about this product.  I&#8217;ll do one more post in the series and outline some of the resources that I&#8217;ve found along the creation of this workflow so expect to see that soon.</p>
<table width="100%" border="0">
<tbody>
<tr>
<td align="left"><a title="My First vCenter Orchestrator Workflow – Part 4 – A look at the Powershell Plug-in" href="http://blog.mwpreston.net/2013/04/19/my-first-vcenter-orchestrator-workflow-part-4-a-look-at-the-powershell-plug-in/"><strong>&lt;&lt;&lt; <strong>Part 4 &#8211; A look at the Powershell plug-in </strong>&lt;&lt;&lt;</strong></a></td>
<td align="right"><strong> &gt;&gt;&gt; Part 6 &#8211; Resources found along the way &gt;&gt;&gt;</strong></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/05/08/my-first-vcenter-orchestrator-workflow-part-5-a-little-bit-of-sql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using PowerCLI to set multipath policy based on array model</title>
		<link>http://blog.mwpreston.net/2013/05/01/using-powercli-to-set-multipath-policy-based-on-array-model/</link>
		<comments>http://blog.mwpreston.net/2013/05/01/using-powercli-to-set-multipath-policy-based-on-array-model/#comments</comments>
		<pubDate>Wed, 01 May 2013 18:17:20 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[EVA]]></category>
		<category><![CDATA[Powercli]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2666</guid>
		<description><![CDATA[Going through all of your hosts and setting your multipathing policy manually through either the C# or the vSphere Web Client can certainly be a trying task.  Sure, if you have 2 or 3 hosts it might be alright, but anything above that and things start to get pretty monotonous really fast!  Also we have all known [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2012/09/powerclilogo.png"><img class="alignleft  wp-image-2038 colorbox-2666" alt="powerclilogo" src="http://blog.mwpreston.net/wp-content/uploads/2012/09/powerclilogo.png" width="166" height="165" /></a>Going through all of your hosts and setting your multipathing policy manually through either the C# or the vSphere Web Client can certainly be a trying task.  Sure, if you have 2 or 3 hosts it might be alright, but anything above that and things start to get pretty monotonous really fast!  Also we have all known that if you need to perform the same task more than once it&#8217;s always better to script it &#8211; Firstly it creates consistency across your environment, secondly it saves you time, and thirdly it helps the economy as you are out buying coffee when normally you would be at your desk clicking&#8230;.</p>
<p>So all that leads me to the following script&#8230;  For the most part the script does two things &#8211; first it gets a list of all of your LUNS associated with a host or group of hosts, second, it sets up your desired multipathing policy on those luns based on the model of array presenting them as well as marks paths as preferred if applicable&#8230;  That being said, I&#8217;ve only included a few different models inside the script below, to see a full list of models you can run &#8220;esxcli storage nmp satp rule list&#8221;  from the esxcli to list all of the models and integrate them into the script as you see fit.</p>
<p>So first off you can see that the script accepts a parameter &#8211; if you pass the string fixall with the call of the script it will just continue without prompts, otherwise, it asks you for a y/n answer.   Also, when setting a path policy to fixed you might want to specify a preferred path &#8211; you can see that I&#8217;ve set this up as vmhba1, just be sure to customize the script to your liking for your environment&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008000;">#fixall - if equals autoyes then don't prompt for y/n</span>
<span style="color: #0000FF;">param</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$fixall</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #800080;">$vcenter</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;vcenterserver&quot;</span>
<span style="color: #800080;">$username</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;username&quot;</span>
<span style="color: #800080;">$password</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;password&quot;</span>
&nbsp;
<span style="color: #800080;">$hostcontainer</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;cluster or datacenter containing hosts to check&quot;</span>
&nbsp;
<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Connecting to vCenter Server...&quot;</span>
<span style="color: #800080;">$success</span> <span style="color: pink;">=</span> connect<span style="color: pink;">-</span>viserver <span style="color: #800080;">$vcenter</span> <span style="color: pink;">-</span>username <span style="color: #800080;">$username</span> <span style="color: pink;">-</span>Password <span style="color: #800080;">$password</span>
&nbsp;
<span style="color: #800080;">$vmhosts</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>vmhost <span style="color: pink;">-</span>Location <span style="color: #800080;">$hostcontainer</span>
&nbsp;
<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$vmhost</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$vmhosts</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
  <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Processing &quot;</span> <span style="color: #800080;">$vmhost</span>.Name<span style="color: #800000;">&quot;......&quot;</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> white <span style="color: #008080; font-style: italic;">-BackgroundColor</span> Red
&nbsp;
  <span style="color: #008000;">#get all luns of type 'disk' from host</span>
  <span style="color: #800080;">$luns</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>ScsiLun <span style="color: pink;">-</span>VMhost <span style="color: #800080;">$vmhost</span> <span style="color: pink;">-</span>LunType disk
&nbsp;
  <span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$lun</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$luns</span><span style="color: #000000;">&#41;</span>
  <span style="color: #000000;">&#123;</span>
    <span style="color: #800080;">$multipath</span> <span style="color: pink;">=</span> <span style="color: #800080;">$lun</span>.MultipathPolicy
    <span style="color: #800080;">$canname</span> <span style="color: pink;">=</span> <span style="color: #800080;">$lun</span>.CanonicalName
    <span style="color: #800080;">$model</span> <span style="color: pink;">=</span> <span style="color: #800080;">$lun</span>.Model
    <span style="color: #008000;"># if lun belongs to EVA</span>
    <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$model</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;HSV400&quot;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
      <span style="color: #800080;">$defaultpolicy</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;roundrobin&quot;</span>
      <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$multipath</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$defaultpolicy</span><span style="color: #000000;">&#41;</span>
      <span style="color: #000000;">&#123;</span>
        <span style="color: #008000;">#get matching datastore name of lun</span>
        <span style="color: #800080;">$ds</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>Datastore <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Where-Object</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.Extensiondata.Info.vmfs.Extent.DiskName <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;$canname&quot;</span><span style="color: #000000;">&#125;</span>
        <span style="color: #800080;">$dsname</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ds</span>.Name
        <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;$dsname&quot;</span> <span style="color: #008080; font-style: italic;">-foregroundcolor</span> red <span style="color: #008080; font-style: italic;">-backgroundcolor</span> yellow <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot; is on the EVA and is currently set to &quot;</span> <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;$multipath&quot;</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> yellow <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot; where it should be &quot;</span> <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Round Robin&quot;</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> green <span style="color: #008080; font-style: italic;">-NoNewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot; - Fix? &quot;</span> <span style="color: #008080; font-style: italic;">-NoNewline</span>;
        <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$fixall</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;autoyes&quot;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
          <span style="color: #800080;">$fix</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;y&quot;</span>
        <span style="color: #000000;">&#125;</span>
        <span style="color: #0000FF;">else</span>
        <span style="color: #000000;">&#123;</span>
          <span style="color: #800080;">$fix</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">Read-Host</span> <span style="color: #800000;">&quot; y/[N]:&quot;</span>
        <span style="color: #000000;">&#125;</span>
        <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$fix</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;y&quot;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
          <span style="color: #800080;">$lun</span> <span style="color: pink;">|</span> set<span style="color: pink;">-</span>ScsiLun <span style="color: pink;">-</span>MultipathPolicy <span style="color: #800080;">$defaultpolicy</span>
          <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;***Complete***&quot;</span> <span style="color: #008080; font-style: italic;">-Foregroundcolor</span> green
        <span style="color: #000000;">&#125;</span>
      <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
    <span style="color: #008000;">#if lun belongs to an MSA</span>
    <span style="color: #0000FF;">elseif</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$model</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;MSA1000 VOLUME&quot;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
      <span style="color: #800080;">$defaultpolicy</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;fixed&quot;</span>
      <span style="color: #800080;">$prefPathHBA</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;vmhba1&quot;</span>
      <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$multipath</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$defaultpolicy</span><span style="color: #000000;">&#41;</span>
      <span style="color: #000000;">&#123;</span>
        <span style="color: #008000;">#get corresponding datastore name of lun</span>
        <span style="color: #800080;">$ds</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>Datastore <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Where-Object</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.Extensiondata.Info.vmfs.Extent.DiskName <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;$canname&quot;</span><span style="color: #000000;">&#125;</span>
        <span style="color: #800080;">$dsname</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ds</span>.Name
        <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;$dsname&quot;</span> <span style="color: #008080; font-style: italic;">-foregroundcolor</span> red <span style="color: #008080; font-style: italic;">-backgroundcolor</span> yellow <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot; is on the MSA and is currently set to &quot;</span> <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;$multipath&quot;</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> yellow <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot; where it should be &quot;</span> <span style="color: #008080; font-style: italic;">-nonewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Fixed&quot;</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> green <span style="color: #008080; font-style: italic;">-NoNewline</span>; <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot; - Fix? &quot;</span> <span style="color: #008080; font-style: italic;">-NoNewline</span>;
        <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$fixall</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;autoyes&quot;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
          <span style="color: #800080;">$fix</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;y&quot;</span>
        <span style="color: #000000;">&#125;</span>
        <span style="color: #0000FF;">else</span>
        <span style="color: #000000;">&#123;</span>
          <span style="color: #800080;">$fix</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">Read-Host</span> <span style="color: #800000;">&quot; y/[N]:&quot;</span>
        <span style="color: #000000;">&#125;</span> 
        <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$fix</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;y&quot;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
          <span style="color: #800080;">$lunpath</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>ScsiLunPath <span style="color: pink;">-</span>scsilun <span style="color: #800080;">$lun</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">where-object</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.ExtensionData.Adapter <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*$prefPathHBA&quot;</span><span style="color: #000000;">&#125;</span>
          <span style="color: #800080;">$lun</span> <span style="color: pink;">|</span> set<span style="color: pink;">-</span>ScsiLun <span style="color: pink;">-</span>MultipathPolicy <span style="color: #800080;">$defaultpolicy</span> <span style="color: pink;">-</span>PreferredPath <span style="color: #800080;">$lunpath</span> <span style="color: #008080; font-style: italic;">-confirm</span>:<span style="color: #800080;">$false</span>
        <span style="color: #000000;">&#125;</span>
      <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
  <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Again I don&#8217;t claim to be a Powershell/PowerCLI scriptmaster, so if you see any performance enhancements, problems, suggestions, concerns please use the comments section below to let me know&#8230; &#8211; Anyone can write a script, but it takes a community to make it a great script.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/05/01/using-powercli-to-set-multipath-policy-based-on-array-model/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Backing up your vCenter DB &#8211; all three of&#8217;em</title>
		<link>http://blog.mwpreston.net/2013/04/22/backing-up-your-vcenter-db-all-three-ofem/</link>
		<comments>http://blog.mwpreston.net/2013/04/22/backing-up-your-vcenter-db-all-three-ofem/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 19:04:30 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[DR]]></category>
		<category><![CDATA[vBrownbag]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vSphere 5.1]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2823</guid>
		<description><![CDATA[Wait!  What!  3!?!?!  Yes, you read correctly!  While in the days of vCenter 5.0 and below we only had to worry about 1 database, the release of 5.1 has tripled that!   This is something I hadn&#8217;t even thought about until recently attending a vBrownbag put on by Justin King (@vcenterGuy). So there&#8217;s the SQL database from [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/three-fingers.jpg"><img class="alignleft  wp-image-2825 colorbox-2823" style="margin: 5px; border-radius: 8px;" alt="three-fingers" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/three-fingers-239x300.jpg" width="143" height="180" /></a>Wait!  What!  3!?!?!  Yes, you read correctly!  While in the days of vCenter 5.0 and below we only had to worry about 1 database, the release of 5.1 has tripled that!   This is something I hadn&#8217;t even thought about until recently attending a <a href="http://professionalvmware.com/brownbags/" target="_blank">vBrownbag </a>put on by Justin King (<a href="https://twitter.com/vCenterGuy" target="_blank">@vcenterGuy</a>).</p>
<p>So there&#8217;s the SQL database from vCenter right &#8211; ok &#8211; no big, I know about that one and am backing it up &#8211; <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=2012138" target="_blank">KB article on how to do that</a>.</p>
<p>Then there is the SSO database &#8211; no problem, I knew about that one as well since I had to <a title="Upgrading to vCenter Server 5.1 and SSO Database connection has failed." href="http://blog.mwpreston.net/2013/01/24/upgrading-to-vcenter-server-5-1-and-sso-database-connection-has-failed/" target="_blank">create it when I first upgraded to 5.1</a>.  Again it&#8217;s a MS SQL DB, doesn&#8217;t change that much &#8211;  which is easy enough to backup&#8230;</p>
<p>But then Justin started talking about the Inventory service &#8211; remember, that&#8217;s the third requirement you had to install when upgrading.  Well guess what?  It has a database too!  It&#8217;s not SQL at all &#8211; it&#8217;s sitting on your vCenter Server in xDB format.  My first thought was what is even in this database &#8211; I can&#8217;t browse it like I can the SQL databases (or I just don&#8217;t know how to).  What I can gather from the What&#8217;s New docs and VMworld presentations the Inventory database holds things such as a read cache of all the objects that are accessed within the vSphere Web Client and all of your tags and categories that are setup from vCenter.  I&#8217;m sure there&#8217;s more but this is all I can find.</p>
<p>However back to my main objective, how do I back this thing up?  A little digging around and I found <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=2017370" target="_blank">this KB article</a> on how to backup/restore your vCenter Inventory database.  Basically it&#8217;s as follows.</p>
<p><strong>Backing up the inventory database (WINDOWS)</strong></p>
<ol>
<li>Navigate to the Inventory scripts folder (c:\Program Files\VMware\Infrastructure\Inventory Service\scripts)</li>
<li>Run the following
<ul>
<li>backup.bat -file backup_filename</li>
</ul>
</li>
</ol>
<p><strong>Restoring the inventory database (WINDOWS)</strong></p>
<ol>
<li>Navigate to the Inventory scripts folder (c:\Program Files\VMware\Infrastructure\Inventory Service\scripts)</li>
<li>Run the following
<ul>
<li>restore -backup backup_filename</li>
</ul>
</li>
</ol>
<p>So utterly simple yet so not talked about <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2823' />   Wait &#8211; but what if I&#8217;m using the vCSA?  Am I out of luck?  Absolutely not!  Use the following&#8230;</p>
<p><strong>Backing up the inventory database (Linux)</strong></p>
<ol>
<li>Navigate to the Inventory scripts folder (/usr/lib/vmware-vpx/inventoryservice/scripts/)</li>
<li>Run the following
<ul>
<li>./backup.sh -file backup_filename</li>
</ul>
</li>
</ol>
<p><strong>Restoring the inventory database (Linux)</strong></p>
<ol>
<li>Navigate to the Inventory scripts folder (/usr/lib/vmware-vpx/inventoryservice/scripts/)</li>
<li>Run the following
<ul>
<li>./restore.sh -backup backup_filename</li>
</ul>
</li>
</ol>
<p>So there you go!  You can now sleep at night knowing you aren&#8217;t going to lose all of your hard work setting up those tags!  Moral of the story &#8211; Pay attention and participate in the vBrownBags &#8211; there is always some great information and learning to be had.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/04/22/backing-up-your-vcenter-db-all-three-ofem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First vCenter Orchestrator Workflow – Part 4 – A look at the Powershell Plug-in</title>
		<link>http://blog.mwpreston.net/2013/04/19/my-first-vcenter-orchestrator-workflow-part-4-a-look-at-the-powershell-plug-in/</link>
		<comments>http://blog.mwpreston.net/2013/04/19/my-first-vcenter-orchestrator-workflow-part-4-a-look-at-the-powershell-plug-in/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 17:16:02 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Powercli]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[vCO]]></category>
		<category><![CDATA[vSphere 5.1]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2776</guid>
		<description><![CDATA[Alright!  So far throughout this series of posts we have installed, configured and setup vCenter Orchestrator; as well as created and tested the integration between both vCO and the vSphere Web Client.  So what&#8217;s next in my venture?  Well if you can remember back to Part 1 of the series I set out on a [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/Orchestrate-Facilitate.jpg"><img class="alignleft  wp-image-2800 colorbox-2776" style="border-top-left-radius: 8px; border-top-right-radius: 8px; border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; margin: 5px;" alt="Orchestrate-Facilitate" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/Orchestrate-Facilitate.jpg" width="181" height="122" /></a>Alright!  So far throughout this series of posts we have installed, configured and setup vCenter Orchestrator; as well as created and tested the integration between both vCO and the vSphere Web Client.  So what&#8217;s next in my venture?  Well if you can remember back to <a href="http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-worlkflow-part-1-introduction/">Part 1 of the series</a> I set out on a quest to develop a workflow that would take an un-configured host and go through a series of tasks to create datastores, rename networks, setup hostname, etc&#8230;  Basically configure it the way I wanted.  Now there are built-in workflows in vCO to do this, however I had already done this work inside of a PowerShell script &#8211; so my main goal was to get vCO to execute that script.  And this leads us to part 4!</p>
<p>So first off as I said above there are a ton of great built in workflows inside of vCO that can do pretty much anything.  Some things however, such as the ability to run a Powershell script, are missing!  Thankfully there is a thriving developers community built around vCO and it&#8217;s SDKs allowing third party vendors to release their own sets of workflows in the form of a plug-in.  So as you probably guessed by now we will need to install a plugin to handle our Powershell script execution.</p>
<p>This plugin is called the vCenter Orchestrator Plug-in for Microsoft Windows Powershell and can be found over on <a href="https://my.vmware.com/web/vmware/details?productId=229&amp;downloadGroup=VCO_POWERSHELL_PLUGIN_101" target="_blank">VMware&#8217;s site</a>.  You will need to download this file.  Once you have your hands on the vmoapp file we need to go into the vCenter Orchestrator Configuration page (https://IP_OF_vCO:8283/) to install it.  Select Plug-ins from the left hand menu, then browse down to the Install new plug-in section.  Upload your file and click &#8216;Upload and install&#8217;, accept the EULA and away you go&#8230; If you browse back to the main Plug-ins page you will notice that it states the plugin will be installed at the next server startup; so if you wish you can do this task manually by going to Startup Options -&gt; Restart Service.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2801 colorbox-2776" alt="vCO-InstallPlugin" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-InstallPlugin.png" width="638" height="125" /></p>
<p>At this point we can fire up our vCO client.  Having a look in the Library of workflows we can now see a PowerShell folder.  Expanding this out further let&#8217;s us see some of the workflows that come packaged with the plug-in.  So we now have a few configuration steps we need to go through before executing scripts with this plug-in.</p>
<p>First off we need setup a PowerShell host.  A PowerShell host is simply a Windows machine with Powershell installed located somewhere in your environment that will handle the storing and executing of the scripts.  There is a great article on all of the steps <a href="https://blogs.vmware.com/orchestrator/2012/06/vco-powershell-plugin-how-to-set-up-and-use-kerberos-authentication.html" target="_blank">here</a> but I will go through explaining them all as well.   Keep in mind this might not be the most secure of ways to go about everything &#8211; but this is simply a lab so I&#8217;m not too worried &#8211; for those concerned w/ security implications <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa384426(v=vs.85).aspx" target="_blank">check out the full lengthy thrilling winrm read on the msdn <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2776' />    </a></p>
<p>So, once you have chosen which machine you would like to be your Powershell host go ahead and drop to a command prompt on that machine and run the following list of commands.</p>
<ul>
<li><span style="line-height: 13px;">To create a winrm listener and open any required firewall ports</span></li>
<li><strong>winrm quickconfig</strong></li>
<li>To enable kerberos authentication</li>
<li><strong>winrm set winrm/config/service/auth @{Kerberos=&#8221;true&#8221;}</strong></li>
<li>Allow transfer of unencrypted data &#8211; told you wasn&#8217;t the most secure <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2776' /> </li>
<li><strong>winrm set winrm/config/service @{AllowUnencrypted=&#8221;true&#8221;}</strong></li>
<li>Up the max memory per shell &#8211; I needed to do this to get things working</li>
<li><strong>winrm set winrm/config/winrs @{MaxMemoryPerShellMB=&#8221;2048&#8243;}</strong></li>
</ul>
<p>And there we are!  Things should be setup fine now on our host end to allow the connections from our vCO server.  Now we need to configure kerberos on the vCO end of things.  To do this you will need to console into your vCO server and get on the command line there &#8211; hope your comfortable with vi <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2776' /> </p>
<p>Basically we need to create a file under /opt/vmo/jre/lib/security called krb5.conf &#8211; to do so simply</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008080; font-weight: bold;">cd</span> <span style="color: pink;">/</span>opt<span style="color: pink;">/</span>vmo<span style="color: pink;">/</span>jre<span style="color: pink;">/</span>lib<span style="color: pink;">/</span>security
vi krb5.conf</pre></td></tr></table></div>

<p>This file will need to look as follows &#8211; obviously change to fit your environment &#8211; if you happen to be using an default configuration of the <a href="http://www.labguides.com/autolab/" target="_blank">autolab </a>then you are good just to copy the following&#8230;</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span>libdefaults<span style="color: #000000;">&#93;</span>
default_realm <span style="color: pink;">=</span> LAB.LOCAL
udp_preferences_limit <span style="color: pink;">=</span> <span style="color: #804000;">1</span>
&nbsp;
<span style="color: #000000;">&#91;</span>realms<span style="color: #000000;">&#93;</span>
LAB.LOCAL <span style="color: pink;">=</span> <span style="color: #000000;">&#123;</span>
kdc <span style="color: pink;">=</span> dc.lab.local
default_domain <span style="color: pink;">=</span> LAB.LOCAL
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#91;</span>domain_realms<span style="color: #000000;">&#93;</span>
.LAB.LOCAL<span style="color: pink;">=</span>LAB.LOCAL
LAB.LOCAL<span style="color: pink;">=</span>LAB.LOCAL</pre></td></tr></table></div>

<p>Once you are done simply hit :wq to save and exit.  In order to grant vCO permission to access our newly created krb5 file you will also need to change ownership of the file using the following command</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="powershell" style="font-family:monospace;">chown vco.vco krb5.conf</pre></td></tr></table></div>

<p>And, in order for changes to take affect, restart the vCO service &#8211; you can do this from the configuration page-&gt;Startup Options or simply</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="powershell" style="font-family:monospace;">service vcod restart</pre></td></tr></table></div>

<p>Whew!  Ok!  Getting somewhere&#8230;.Now we need to add the host into our configuration of the Powershell plug-in.   I find the easiest way to do this is to simply run the &#8216;Add a Powershell Host&#8217; workflow however you can develop the script/code on the fly to add the host during your own workflow if you want.   The way I have documented however is as follows&#8230;</p>
<p>Browse to the PowerShell plug-in configuration by expanding Library-&gt;PowerShell-&gt;Configuration in the workflows view of your vCO Client.  Right click &#8216;Add a PowerShell host&#8217; and select Start Workflow.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-AddHost1.png"><img class="aligncenter size-full wp-image-2802 colorbox-2776" alt="vCO-AddHost1" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-AddHost1.png" width="748" height="282" /></a></p>
<p>Here we need to add a few key pieces of information.  Enter a name for your PowerShell host &#8211; this can be whatever you wish, then <strong>enter the HOSTNAME of the host</strong> you setup (kerberos will not work with IP)   and click Next.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-AddHost2.png"><img class="aligncenter size-full wp-image-2803 colorbox-2776" alt="vCO-AddHost2" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-AddHost2.png" width="746" height="282" /></a></p>
<p>The only item that needs to be changed on the Host Type screen is Authentication; be sure Kerberos is selected and click &#8216;Next&#8217;.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-AddHost3.png"><img class="aligncenter size-full wp-image-2804 colorbox-2776" alt="vCO-AddHost3" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-AddHost3.png" width="750" height="301" /></a></p>
<p>In the User Credentials screen you have a couple of options in regards to Session mode.  Again since this is a lab environment I selected Shared Session, however if you were looking at a more production type deployment you might want to explore the Per User settings which will execute commands under the credentials of the current user connected to vCO.  Enter in some credentials with access to vCO and click &#8216;Submit&#8217;.  The workflow should kick off and you can watch it flow through the different elements.  When done, hopefully you have a nice green check mark beside it!</p>
<p>Now that we have successfully installed the Powershell plug-in and added a Powershell host lets go ahead and create a script on our Powershell host to run in order to make sure everything works.  Although my end goal is to completely configure a host &#8211;  for simplicity sake I&#8217;ll use a small snippet of the complete script.  So I have placed the following script on my PowerShell host to simply add a new VM Network to vSwith0.  As you can see the script is pretty simple, takes two parameters, a host and a location code.  The location code is used to represent uniquness in my environment and is actually used multiple times in the complete script for the hostname, datastores, etc&#8230;.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #0000FF;">param</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$hosttoconfigure</span><span style="color: pink;">,</span> <span style="color: #800080;">$locationcode</span><span style="color: #000000;">&#41;</span>
<span style="color: #008080; font-weight: bold;">add-pssnapin</span> VMware.VimAutomation.Core
<span style="color: #800080;">$username</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;Host Username&quot;</span>
<span style="color: #800080;">$password</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;Host Password&quot;</span>
<span style="color: #800080;">$success</span> <span style="color: pink;">=</span> Connect<span style="color: pink;">-</span>VIServer <span style="color: #800080;">$hosttoconfigure</span> <span style="color: pink;">-</span>username <span style="color: #800080;">$username</span> <span style="color: pink;">-</span>Password <span style="color: #800080;">$password</span>
Get<span style="color: pink;">-</span>VirtualSwitch <span style="color: #008080; font-style: italic;">-Name</span> vSwitch0 <span style="color: pink;">|</span> New<span style="color: pink;">-</span>VirtualPortGroup <span style="color: #008080; font-style: italic;">-Name</span> <span style="color: #800000;">&quot;$locationcode-VM_Network&quot;</span> <span style="color: #008080; font-style: italic;">-confirm</span>:$false</pre></td></tr></table></div>

<p>So let&#8217;s get started on our workflow to call this script.  Again, create a new workflow and call it what you will.   Once you are in the workflow editor move to the Inputs tab.  Here we will get the information from the user that we require in the script.  So go head and add a couple of inputs to the workflow, one being hosttoconfigure (Type VC.HostSystem) and locationcode (Type String).</p>
<p style="text-align: center;"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-SetupParameters.png"><img class="aligncenter  wp-image-2806 colorbox-2776" alt="vCO-SetupParameters" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-SetupParameters.png" width="638" height="182" /></a></p>
<p>By selecting our host parameter and clicking the eye icon we can set the &#8216;Show in Inventory&#8217; presentation property on the host input.  This will basically allow the user to browse through their vCenter to select the host when running the workflows, so might as well go ahead and do that as well.</p>
<p style="text-align: center;"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PresentationProperty.png"><img class="aligncenter  wp-image-2807 colorbox-2776" alt="vCO-PresentationProperty" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PresentationProperty.png" width="537" height="197" /></a></p>
<p>The Powershell workflow that we will be using is called &#8216;Invoke and external script&#8217; and requires 3 parameters; One, a Powershell Host which we have setup previously, the second is the script to execute, and the third is the arguments to pass to the script.</p>
<p style="text-align: center;"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-SetupParameters.png"><img class="aligncenter  wp-image-2808 colorbox-2776" alt="vCO-PS-SetupParameters" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-SetupParameters.png" width="670" height="285" /></a></p>
<p>Once on the Schema tab go head and drag the &#8216;Invoke an external script&#8217; workflow into yours.   When you see the parameter setup black bar pop up click &#8216;Setup&#8217; and we can have a look at the parameters.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-PromoteParameters.png"><img class="aligncenter size-full wp-image-2809 colorbox-2776" alt="vCO-PS-PromoteParameters" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-PromoteParameters.png" width="536" height="367" /></a></p>
<p>Through this screen we can basically promote or link the parameters from the Script workflow to our main workflow.  You can see that I&#8217;ve done a few things.  One, I&#8217;ve set the host parameter to a value (same as creating an attribute) and browsed through my inventory to select my Powershell host that we created previously.  Secondly I manually inputted the path to my Powershell script in the externalScript parameter.  Thirdly I selected to skip the arguments parameter at this time.  I&#8217;ve done this because I need to pass the hostname as well as the locationcode parameter from my main workflow to this parameter which we will do with a separate element called a Scriptable task.  Go ahead and click &#8216;Promote&#8217;.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-ScriptableTask.png"><img class="aligncenter size-full wp-image-2810 colorbox-2776" alt="vCO-PS-ScriptableTask" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-ScriptableTask.png" width="610" height="188" /></a></p>
<p>So now we have our main input parameters setup (locationcode and hosttoconfigure) as well as our script setup and ready to go.  We just need to tackle that arguments parameter.  As I said we will do this with a separate Scriptable Task workflow so go ahead and drag that into your schema, just before your Invoke External Script.   A scriptable task is just that, kind of a blank canvas to do any sort of scripting (javascript) that you desire.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-ScriptableTask-SetupInVars.png"><img class="aligncenter size-full wp-image-2812 colorbox-2776" alt="vCO-PS-ScriptableTask-SetupInVars" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-ScriptableTask-SetupInVars.png" width="687" height="366" /></a></p>
<p>So let&#8217;s go ahead and click the pencil icon to edit our scriptable task.  There are few IN parameters that we are going to need inside of our script; The first is hosttoconfigure and the second is locationcode.</p>
<p style="text-align: center;"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-ScriptableTask-SetupOutVars.png"><img class="aligncenter  wp-image-2813 colorbox-2776" alt="vCO-PS-ScriptableTask-SetupOutVars" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-ScriptableTask-SetupOutVars.png" width="598" height="627" /></a></p>
<p>Now move on to the OUT parameters.  We will need to create a new out parameter to store our arguments, so click the link for a new parameter and create a new workflow attribute called scriptArgs of type string.</p>
<p>Now we need to move to the Scripting tab.  This is where we can concatenate a property of the hosttoconfigure parameter and the locationcode to populate our newly created scriptArgs variable.  Honestly it&#8217;s a one-liner.  I&#8217;m sure there is a way to create this workflow without even requiring this whole Scriptable task but this is the way I got to to work (again, my FIRST vCO workflow).  Copy/Paste the following into your scripting tab.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="powershell" style="font-family:monospace;">scriptArgs <span style="color: pink;">=</span> hosttoconfigure.Name <span style="color: pink;">+</span> <span style="color: #800000;">&quot; &quot;</span> <span style="color: pink;">+</span> locationcode;</pre></td></tr></table></div>

<p>Ok, you can close out of your Scriptable task workflow now.  We are almost there.  All that we have left to do is map the External Script workflow paramater arguments to our Scriptable task elements parameter scriptArgs.  Thankfully this is an easy thing to do.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-MapVars.png"><img class="aligncenter size-full wp-image-2814 colorbox-2776" alt="vCO-PS-MapVars" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-MapVars.png" width="749" height="496" /></a></p>
<p>Once again go into your External Script element and click on the Visual Binding tab.  Here, as shown above, we simply need to drag the scriptArgs in attribute over to the arguments in parameter.</p>
<p><img class="size-full wp-image-2815 alignleft colorbox-2776" style="margin: 4px;" alt="vCO-PS-AllDONE" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCO-PS-AllDONE.png" width="304" height="159" /></p>
<p>Guess what!  Your done!  If everything has been setup properly and I&#8217;ve done a good job at explaining what to do then you should be able to Save and Close your workflow and actually run it on a host (a test host of course).  The result &#8211; you should get a VM Network setup on vSwitch0 &#8211; oh and a pretty green checkmark beside your workflow <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2776' /> </p>
<p>At this point I&#8217;m going to cut off this post since it&#8217;s getting pretty long.  That being said I&#8217;m not going to end the series!  I&#8217;m always looking at ways to better automate things and you know, having users type in that location code just isn&#8217;t good enough for me, a lot of room for error there; they could type it in wrong, do the same location twice, on and on and on&#8230;  And hey, I have a database already setup with my location codes in it and whether or not they have already been deployed.  So, stay tuned for Part 5 of my series where we will go through configuring the SQL plug-in and setting up our location input parameter to be populated by an SQL table &#8211; as well as update that same table on completion of our script.</p>
<table width="100%" border="0">
<tbody>
<tr>
<td align="left"><a title="My First vCenter Orchestrator Workflow – Part 3 – Create a test workflow and see the awesomesauce" href="http://blog.mwpreston.net/2013/04/11/my-first-vcenter-orchestrator-workflow-part-3-create-a-test-workflow-and-see-the-awesomesauce/"><strong>&lt;&lt;&lt; Part 3 &#8211; Create a test workflow and see the awesomesauce &lt;&lt;&lt;</strong></a></td>
<td align="right"><a title="My First vCenter Orchestrator Workflow – Part 5 – A little bit of SQL" href="http://blog.mwpreston.net/2013/05/08/my-first-vcenter-orchestrator-workflow-part-5-a-little-bit-of-sql/"><strong> &gt;&gt;&gt; Part 5 &#8211; A little bit of SQL &gt;&gt;&gt;</strong></a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/04/19/my-first-vcenter-orchestrator-workflow-part-4-a-look-at-the-powershell-plug-in/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Friday Shorts &#8211; Simplivity, Veeam and vOpenData</title>
		<link>http://blog.mwpreston.net/2013/04/19/friday-shorts-simplivity-veeam-and-vopendata/</link>
		<comments>http://blog.mwpreston.net/2013/04/19/friday-shorts-simplivity-veeam-and-vopendata/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 12:48:57 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Friday Shorts]]></category>
		<category><![CDATA[Veeam]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2786</guid>
		<description><![CDATA[Too bad, she said she doesn&#8217;t want you here when she gets back because you&#8217;ve been ruining everybody&#8217;s lives and eating all our steak. &#8211; Napolean Dynamite SimpliVity out of stealth One of my fellow #vDB comrades Gabriel Chapman ( blog / twitter ) has joined SimpliVity.  I&#8217;ve not heard of SimpliVity before Gabe joined them but [...]]]></description>
				<content:encoded><![CDATA[<blockquote><p>Too bad, she said she doesn&#8217;t want you here when she gets back because you&#8217;ve been ruining everybody&#8217;s lives and eating all our steak. &#8211; <strong>Napolean Dynamite</strong></p></blockquote>
<h3><span style="text-decoration: underline;"><strong>SimpliVity out of stealth</strong></span></h3>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/simplivity.png"><img class="alignleft  wp-image-2787 colorbox-2786" style="margin: 5px;" alt="simplivity" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/simplivity.png" width="240" height="62" /></a>One of my fellow #vDB comrades Gabriel Chapman ( <a href="http://gabrielchapman.com/" target="_blank">blog </a>/ <a href="https://twitter.com/Bacon_Is_King" target="_blank">twitter </a>) has joined SimpliVity.  I&#8217;ve not heard of SimpliVity before Gabe joined them but since have done a little reading on their product offering.  In a nutshell they provide a simplified building block solution for your virtual environment, one that contains everything you need to get going (storage, compute, network) in a 2U format called the OmniCube which is built for a scale-out environment.  The box looks pretty slick in the fact that it contains built in deduplication, replication, ha, etc&#8230;  If you have some time I would definitely consider going and checking them out over on <a href="http://www.simplivity.com/" target="_blank">SimpliVity.com</a> &#8211; also vExpert Chris Wahl has a great post on their product <a href="http://wahlnetwork.com/2013/04/17/simplivity/" target="_blank">over on his blog</a>.  Congrats Gabe on the move &#8211; looks like a good one!</p>
<h3><span style="text-decoration: underline;"><strong>Veeam v7 to backup to tape!</strong></span></h3>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2012/06/veeamlogo.jpg"><img class="alignright  wp-image-1741 colorbox-2786" alt="veeamlogo" src="http://blog.mwpreston.net/wp-content/uploads/2012/06/veeamlogo.jpg" width="284" height="64" /></a>Tape is dead right &#8211; apparently not, Veeam has announced their support of adding an archive to tape option into version 7 of Backup and Replication.  Now I&#8217;ve been long off tape, but I&#8217;m sure this is appealing to those that are not.  Honestly it does make a good case for Veeam in the case that companies require retention for auditing.  This is the 5th peek into what Veeam is bundling with v7, along with vCloud Director support, a new vSphere Web Client plug-in, Veeam Explorer for SharePoint and a virtual lab for Hyper-V.  Be sure to <a href="http://go.veeam.com/v7" target="_blank">sign up on their site</a> to get notified of the v7 features as they announce them.</p>
<h3><span style="text-decoration: underline;"><strong>Have you seen/contributed to vOpenData?</strong></span></h3>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vopendata.png"><img class="alignleft  wp-image-2789 colorbox-2786" style="margin: 5px; border-top-left-radius: 8px; border-top-right-radius: 8px; border-bottom-right-radius: 8px; border-bottom-left-radius: 8px;" alt="vopendata" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vopendata.png" width="200" height="126" /></a>An interesting community project has been ramping up over the last couple of weeks called <a href="www.vopendata.org" target="_blank">vOpenData</a>.  Basically Ben Thomas and William Lam have created a database that compiles data taken from YOUR virtual infrastructure, applies some analytic s in the back end and pops out a pretty sexy page showing a ton of statistics showing things like average vmdk size, average number of datastores per cluster, etc&#8230;  If you have a few minutes <a href="http://dash.vopendata.org/public" target="_blank">check it out</a> and if your up to it, contribute!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/04/19/friday-shorts-simplivity-veeam-and-vopendata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get your hands on a free Unitrends NFR lisense &#8211; and some top notch community knowledge to boot</title>
		<link>http://blog.mwpreston.net/2013/04/17/get-your-hands-on-a-free-unitrends-nfr-lisense-and-some-top-notch-community-knowledge-to-boot/</link>
		<comments>http://blog.mwpreston.net/2013/04/17/get-your-hands-on-a-free-unitrends-nfr-lisense-and-some-top-notch-community-knowledge-to-boot/#comments</comments>
		<pubDate>Wed, 17 Apr 2013 13:29:07 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Unitrends]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2774</guid>
		<description><![CDATA[I&#8217;ve just been informed that Unitrends, one of the great sponsors of this blog will be hosting a webinar with none other than the great Eric Siebert!  You know, the vExpert, Author, Blogger &#8211; oh and the guy behind the coveted vSphere-Land Top Virtualization Blogs &#8211; yah, him! Eric and Unitrends will be going over how [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2012/11/unitrends.png"><img class=" wp-image-2309 alignleft colorbox-2774" style="margin: 5px;" alt="unitrends" src="http://blog.mwpreston.net/wp-content/uploads/2012/11/unitrends.png" width="158" height="42" /></a>I&#8217;ve just been informed that Unitrends, one of the great sponsors of this blog will be <a href="http://go.unitrends.com/Unitrends-Webinar-Eric-Siebert" target="_blank">hosting a webinar</a> with none other than the great Eric Siebert!  You know, the vExpert, Author, Blogger &#8211; oh and the guy behind the coveted <a href="http://vmware-land.com/" target="_blank">vSphere-Land Top Virtualization Blogs</a> &#8211; yah, him!</p>
<p>Eric and Unitrends will be going over how you can utilize blogging tech experts and peers writing from the IT trenches as well as the following points&#8230;</p>
<ul>
<li>How the virtualization blogger community has evolved</li>
<li>Why you should pay attention to what bloggers are saying</li>
<li>Top virtualization blogs to watch in 2013</li>
</ul>
<p>This is certainly one that I don&#8217;t want to miss!  It&#8217;s always great to hear Eric speak about the state of the blogosphere!  He certainly has been through mostly all of the blogs out there during his yearly vote!  So, if you have nothing to do on April 18th around lunchtime (12PM EST) why not go and sign up to watch this -<a href="http://go.unitrends.com/Unitrends-Webinar-Eric-Siebert" target="_blank"> landing page is here</a>.</p>
<p>Oh, did I mention that Unitrends is giving EVERY attendee a free NFR license of their <a href="http://unitrends.com/unitrends-enterprise-backup.html" target="_blank">Unitrends Enterprise Backup </a>- not too shabby for just showing up.  Also, one of the lucky attendees could get their hands on a $200 ThinkGeek.com giftcard!</p>
<p>See yah there <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2774' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/04/17/get-your-hands-on-a-free-unitrends-nfr-lisense-and-some-top-notch-community-knowledge-to-boot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First vCenter Orchestrator Workflow &#8211; Part 3 &#8211; Create a test workflow and see the awesomesauce</title>
		<link>http://blog.mwpreston.net/2013/04/11/my-first-vcenter-orchestrator-workflow-part-3-create-a-test-workflow-and-see-the-awesomesauce/</link>
		<comments>http://blog.mwpreston.net/2013/04/11/my-first-vcenter-orchestrator-workflow-part-3-create-a-test-workflow-and-see-the-awesomesauce/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 15:00:22 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[vCenter Orchestrator]]></category>
		<category><![CDATA[vCO]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vSphere 5.1]]></category>
		<category><![CDATA[vSphere Web Client]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2751</guid>
		<description><![CDATA[Ok we are finally getting somewhere now with this series! So far we have downloaded, installed, and configured our vCO appliance. As well, we have registered our vCO instance with both vCenter and our SSO instance. This post will take us through verifying and testing our installation by creating and setting up a small workflow that we [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/imgOrchestrate.png"><img class="alignleft  wp-image-2755 colorbox-2751" style="border-top-left-radius: 15px; border-top-right-radius: 15px; border-bottom-right-radius: 15px; border-bottom-left-radius: 15px; margin: 2px 5px;" alt="imgOrchestrate" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/imgOrchestrate.png" width="168" height="146" /></a>Ok we are finally getting somewhere now with this series! So far we have downloaded, installed, and configured our vCO appliance. As well, we have registered our vCO instance with both vCenter and our SSO instance. This post will take us through verifying and testing our installation by creating and setting up a small workflow that we can then assign to some inventory objects inside of vCenter. This will allow us to perform that right-click magic in the Web Client and see for ourselves some of the awesome integration vCO and vCenter have.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOClient.png"><img class="aligncenter size-full wp-image-2757 colorbox-2751" alt="vCOClient" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOClient.png" width="556" height="389" /></a></p>
<p>With that said let&#8217;s get started on our test workflow. To do so you will need one of clients available to vCO. As you can see in the screenshot vCO provides you with a couple of options to start the client; one simply runs a java applet and the other let&#8217;s you install a client directly on your machine &#8211; whichever method you chose you end up sitting at the exact same login screen. Once you get there you should be able to simply input your vCO IP as the Host name and your proper credentials.</p>
<p>OK! So here we are, the vCO workflow development interface. Look a little foreign to you? No worries, it did to me as well. Actually, it still kind of does, this is just &#8220;My First&#8221; vCO workflow remember! So for the most part I&#8217;ve only really explored the workflow icon (shown below).  The others are simply Home (home), Scheduler (Allows scheduling of workflows), Policies ( Allows other plugins to trigger the kick off of workflows), and Inventory (You will see your vCenter inventory objects here). For now, we need the Workflows section active.<a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOWorkflowWorkspace.png"><img class="aligncenter size-full wp-image-2760 colorbox-2751" alt="vCOWorkflowWorkspace" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOWorkflowWorkspace.png" width="743" height="243" /></a></p>
<p><img class="alignleft  wp-image-2761 colorbox-2751" style="margin-left: 5px; margin-right: 5px;" alt="vCONewFolder" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCONewFolder.png" width="214" height="179" /></p>
<p>So after you expand the Library tree you should see several folders by default. These folders contain all of the workflows that vCO is aware of. Obviously we can add more by creating our own or installing plug-ins (covered in Part 4). For now we will just create one of our own workflows. Before going to crazy I always like to create my own folder for things like this. I get a bit nit-picky about file management sometimes <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2751' />  To do so is pretty simple &#8211; Right Click Library -&gt; Add New Folder and give it a name!</p>
<p><img class="aligncenter  wp-image-2762 colorbox-2751" alt="vCOWorkflowEditor" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOWorkflowEditor1.png" width="594" height="325" /></p>
<p>&nbsp;</p>
<p>So now it&#8217;s time to create our workflow &#8211; Again Right-Click the folder you want to store it in and Select New Workflow and name it. At this point a new window, the workflow editor will open up. There is a lot of information and tabs here and to be honest I&#8217;m not going to explain what they all are. Partly because it would make this post much too long, but mostly because I don&#8217;t have a grasp on what they all are <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2751' /> . The main tab that we will be working in is called Schema. This is where we setup all of the flow elements inside our workflow. Once there you will see our main window is displaying the flow of everything, and the left hand side is showing all of the workflows that we can add to our workflow. The one I am interested in is &#8216;Reboot host&#8217; As you can see you can browse through the tree of All Workflows to get to it or you can simply use the filter box at the top to search for specific workflows. Once you find it you simply add it to your workflow by dragging it into your flow window.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2763 colorbox-2751" alt="vCOInputsCurrentWorkflow" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOInputsCurrentWorkflow.png" width="696" height="158" /></p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOPromoteInputs.png"><img class="alignright  wp-image-2764 colorbox-2751" style="margin-left: 5px; margin-right: 5px;" alt="vCOPromoteInputs" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOPromoteInputs.png" width="361" height="148" /></a>After doing so you will see a black bar along the top of the screen asking about the activities parameters. Something to know &#8211; workflows have inputs and outputs &#8211; these are pretty self explanatory. When we created the workflow initially it had inputs and output, and then when we dragged the Reboot Host workflow into ours it also had inputs and outputs. So what this is asking is if we would like to move the Reboot Hosts inputs into our workflows inputs. In this case this is something we want to do. So go ahead and click &#8216;Setup&#8217;. Now we see our &#8217;Promote Workflow Input Parameters&#8217; window. This will allow us to do a few different things; First of all, we can promote or move our inputs from the reboot host workflow to our workflow, and secondly we can decide to assign default values to them at the same time. As you can see, the &#8216;Reboot Host&#8217; workflow takes two inputs; one being the host and the other being the force switch. Leave host as it is but if you want you can set a default value of &#8216;Yes&#8217; to force by selecting the value option and then the yes option. Then click &#8216;Promote&#8217;.</p>
<p>If you look at your Inputs section now you will see that only host is listed. This is because we require the user to tell us or select the host we wish to reboot. But wait, what about force?!?! Well, by assigning a default value to this input parameter we have actually converted this to an attributes. Attributes are available on the General tab. Anyways &#8211; this workflow is now complete! Go ahead and select &#8216;Save and Close&#8217;. You will notice that vCO will also handle a bit of version history for us! Awesome stuff!</p>
<p>Alright! We are done with vCO for now. Let&#8217;s flip back to our web client and assign this workflow to be executed on certain objects. Navigate through the web client to the vCenter Orchestrator section, then Select vCO Home and look in the Manage tab. This is where we will add our newly created workflow to our right-click context menu when associated with host. Click the + sign to add a new workflow. In the Available workflows browse through the tree until you find your workflow and click &#8216;Add&#8217;, then select the inventory objects to run it on &#8211; in our case, just a host and click &#8216;OK&#8217;</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOAddWorkflow.png"><img class="aligncenter size-full wp-image-2765 colorbox-2751" alt="vCOAddWorkflow" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOAddWorkflow.png" width="727" height="547" /></a></p>
<p>So, after all of this we are now ready for the awesomesauce! Get back into your Hosts and Clusters view and right-click on a host. Once the &#8217;All vCenter Orchestrator Actions&#8217; menu loads have a look at what you see! Reboot Craziness!!! Your workflow!! If you see fit, go ahead and select it to kick off the workflow. You may be prompted for a token delegation &#8211; if so go ahead and click &#8216;Approve&#8217; &#8211; I have no idea what this is <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2751' />  When your workflow window opens you can see that your host has already been pre-populated with our right-click. You can click Finish to start the workflow immediately or Next to setup a schedule of sorts. ***Warning &#8211; this will reboot your host *** &#8211; don&#8217;t know if that&#8217;s needed but whatever <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2751' /> </p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOItsthere.png"><img class="aligncenter size-full wp-image-2766 colorbox-2751" alt="vCOItsthere" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/vCOItsthere.png" width="646" height="515" /></a></p>
<p>So there you go! We&#8217;ve successfully created a test workflow in which we integrated into and executed from the vSphere Web Client. Pretty awesome stuff! I hope you are starting to see some of the benefits of vCO now! Next we will get back on track with our workflow and dig a bit deeper into creating workflows by installing the Powershell plugin and getting vCO to execute a script for us!</p>
<table width="100%" border="0">
<tbody>
<tr>
<td align="left"><a href="http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-workflow-part-2-installing-vcenter-orchestrator/"><strong>&lt;&lt;&lt; Part 2 &#8211; Installing vCenter Orchestrator &lt;&lt;&lt;</strong></a></td>
<td align="right"><a href="http://blog.mwpreston.net/2013/04/19/my-first-vcenter-orchestrator-workflow-part-4-a-look-at-the-powershell-plug-in/"><strong> &gt;&gt;&gt; Part 4 &#8211; A look at the Powershell plug-in &gt;&gt;&gt;</strong></a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/04/11/my-first-vcenter-orchestrator-workflow-part-3-create-a-test-workflow-and-see-the-awesomesauce/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My first vCenter Orchestrator Workflow &#8211; Part 2 &#8211; Installing vCenter Orchestrator</title>
		<link>http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-workflow-part-2-installing-vcenter-orchestrator/</link>
		<comments>http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-workflow-part-2-installing-vcenter-orchestrator/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 17:30:15 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[SSO]]></category>
		<category><![CDATA[vCO]]></category>
		<category><![CDATA[vSphere 5.1]]></category>
		<category><![CDATA[vSphere Web Client]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2722</guid>
		<description><![CDATA[Welcome to the second part of My first vCenter Orchestrator Workflow series.  Now before we can really get into the functionality of vCenter Orchestrator we obviously need to go through the task of getting vCO installed and configured. VMware has provided a couple of different ways to do this; one being installing on a Windows [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrate2.jpg"><img class="alignleft  wp-image-2738 colorbox-2722" style="border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px; margin-left: 5px; margin-right: 5px;" alt="orchestrate2" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrate2.jpg" width="182" height="136" /></a>Welcome to the second part of My first vCenter Orchestrator Workflow series.  Now before we can really get into the functionality of vCenter Orchestrator we obviously need to go through the task of getting vCO installed and configured. VMware has provided a couple of different ways to do this; one being installing on a Windows box, normally on the same server as your vCenter Server. And the second being through the download of a virtual appliance. For the sake of this series I will go over the installation and configuration of the appliance as it seems to be the trickier of the two.  If you go with the windows installation it is simply included as an installable package on the vCenter Server media.</p>
<p>So first off you need to go and download the vCO appliance through your myvmware account.   vCO is bundled in with vCenter Server so if you have a copy of vCenter you are good to go with vCO (I think foundation only comes with the ability to run workflows and not edit)   From here you simply need to import the ovf appliance into your environment using the typical  File -&gt; Deploy OVF Template and power it on.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/appliance-installed.png"><img class="aligncenter size-full wp-image-2741 colorbox-2722" alt="appliance-installed" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/appliance-installed.png" width="723" height="249" /></a><br />
Once the appliance has fully booted you will notice that it displays a slew of URLs and information.  Don&#8217;t worry!  By simply pointing your browser to the IP address of your vCO server you will see the same list &#8211; you don&#8217;t need to remember all of the ports.   There are a couple we need to pay close attention to here; Orchestrator Configuration (used to perform Orchestrater setup, plugins, ssl certs, etc &#8211; this is the main ui you will work in) and Appliance Configuration (the setup pages to manage your actual appliance settings, such as networking, ntp, admin passwords, etc.. )</p>
<p>For your documentation (more so mine) I&#8217;m going to list the default usernames and passwords for vCO below as it can be tricky trying to find some of them in the documentation.</p>
<p>Orchestrator Configuration &#8211; vmware/vmware &#8211; will prompt for new password when you first login<br />
Appliance configuration &#8211; root/vmware &#8211; change password manually in the &#8216;Admin&#8217; section.</p>
<p>So to get started let&#8217;s browse to Appliance Configuration &#8211; As described above here is where you can perform appliance related tasks such as setting up ntp, networking and change your root password. If you have used any VMware virtual appliances before you should be somewhat familiar with this interface.</p>
<div id="attachment_2728" class="wp-caption aligncenter" style="width: 595px"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/appliance-configuration.png"><img class=" wp-image-2728 colorbox-2722" alt="appliance-configuration" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/appliance-configuration.png" width="585" height="179" /></a><p class="wp-caption-text">Same look and feel as most VMware Virtual Appliances</p></div>
<p>Once you have your network settings configured we can continue on to the Orchestrator Configuration. This is the main interface for configuring all things Orchestrator. We have quite a bit of work to do here so lets get started. After logging in with the default credentials (vmware/vmware) you will be prompted to change the password so go ahead and do so.  Now we need to setup our Orchestrator appliance to listen on the proper IP address which set in the appliance configuration as well as work with the new SSO service that was shipped with vSphere 5.1. To do this we will first stop the Orchestrator server service. This can be done through the &#8216;Startup Options&#8217; section on the left hand menu, then clicking &#8216;Stop Service&#8217;.</p>
<div id="attachment_2729" class="wp-caption aligncenter" style="width: 609px"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-networking.png"><img class=" wp-image-2729  colorbox-2722" alt="orchestrator-networking" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-networking.png" width="599" height="318" /></a><p class="wp-caption-text">Networking</p></div>
<p>For the network listener, simply select the &#8216;Network&#8217; menu on the left hand side, then select your IP Address in the associated dropdown box, then click &#8216;Apply Changes&#8217; Easy peasy so far &#8211; well, now we are about to explore SSO and SSL Certificates &#8211; yikes!</p>
<p>In the same section (network) select the SSL Trust Manager tab. Here is where we list all of our imported ssl certificates. In order for SSO to work we need import a couple certs; one from our vCenter Server and the other from our SSO service. To do this there are a couple of URLs we need to know.</p>
<p>First enter in the following URL (https://IP_of_vCenter:443/ and click the import button. The certificate should be displayed in your browser. Simply click &#8216;Import&#8217; once again to pull it into vCO.</p>
<div id="attachment_2730" class="wp-caption aligncenter" style="width: 637px"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-ssl.png"><img class=" wp-image-2730  colorbox-2722" alt="Importing SSL Certificates" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-ssl.png" width="627" height="339" /></a><p class="wp-caption-text">Importing SSL Certificates</p></div>
<p>Next we need to repeat the exact same steps excepting using https://IP_of_vCenter:7444/ as the URL.</p>
<p>Now that we have the required certificates we need to setup Orchestrator to point to SSO for authentication purposes which is done by, you guessed it, the Authentication section. Switch your authentication mode dropdown from LDAP Authentication (default) to SSO Authentication. Then you need to input your SSO Host &#8211; This will be the same as your vCenter unless you have explicitly installed SSO elsewhere in your environment. Also we need an admin username and password on your SSO host. Remember a way back when when you installed SSO and it was prompting you for admin usernames/passwords &#8211; I hope you remember these because we need them now. By default if you didn&#8217;t make to many changes your username might be admin@SYSTEM-DOMAIN &#8211; unfortunately I can&#8217;t help you with your password <img src='http://blog.mwpreston.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-2722' />  Once done select &#8216;Register Orchestrator&#8217;.</p>
<div id="attachment_2731" class="wp-caption aligncenter" style="width: 540px"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-registerSSO.png"><img class="size-full wp-image-2731 colorbox-2722" alt="vCO will authenticate users using the SSO installation included in vSphere 5.1" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-registerSSO.png" width="530" height="432" /></a><p class="wp-caption-text">vCO will authenticate users using the SSO installation included in vSphere 5.1</p></div>
<p>On the next page you can actually put more restrictions on who can and can&#8217;t be a vCO administrator. I left all defaults here and simply clicked &#8216;Accept Orchestrator Configuration&#8217;.  Basically you are configuring what users or groups can be vCO admins.</p>
<p>Alright, almost there &#8211; Now let&#8217;s go ahead and get the vCenter Server plugin installed and activated &#8211; we will go a little more in depth with plugins later so I&#8217;ll leave most of the details out that this point.  Simply select your Plug-ins menu and enter in a username and password in the boxes provided (SSO should be working now), select the checkbox next to the vCenter Plug-in and click &#8216;Apply Changes&#8217; .</p>
<div id="attachment_2732" class="wp-caption aligncenter" style="width: 584px"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-vcenterplugin.png"><img class=" wp-image-2732  colorbox-2722" alt="Installing the vCenter Plug-in" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-vcenterplugin.png" width="574" height="444" /></a><p class="wp-caption-text">Installing the vCenter Plug-in</p></div>
<p>This might be a good time to give your vCO server a nice clean reboot or at least restart the services under Startup Options.  As you can see there are a few plug-ins stating they will perform the installation at the next server setup.  Either way you should see a vCenter Server menu option appear, once it&#8217;s there select it, then go to the &#8216;New vCenter Server Host&#8217; tab. Fill in all of the information in regards to your vCenter Server</p>
<div id="attachment_2733" class="wp-caption aligncenter" style="width: 649px"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-vcenterpluginaddvcenter.png"><img class=" wp-image-2733  colorbox-2722" alt="Adding a vCenter Server" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-vcenterpluginaddvcenter.png" width="639" height="369" /></a><p class="wp-caption-text">Adding a vCenter Server</p></div>
<p>As you can see most the options here are pretty basic with the exception of the user strategies.  Basically &#8216;Share a unique session&#8217; will result in orchestrator creating only one connection back to your vCenter Server.  This will certainly use less resources and may be &#8216;secure-enough&#8217; for some small deployments.  The &#8216;Session per user&#8217; option will actually execute the workflows under the user credentials of the user that is logged into Orchestrator.  This does have the ability to use a few more resources however provides a bit more secure and audit-able environment.  I used the &#8216;Share a unique&#8217; session as I&#8217;m just running through my lab at this point.</p>
<p>OK, i told you we had a lot of work to do in here &#8211; but for the most part we have things configured now. If you want to double check you can log in to your vSphere Web Client, Select the vCenter Orchestrator item on the left hand navigation menu and you should be able to drill down and see your new vCO server registered.  If not and you have followed all these instructions to a tee with no break, you may want to give your vCO server a reboot and have a look. It should be there  :)</p>
<div id="attachment_2734" class="wp-caption aligncenter" style="width: 639px"><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-registered.png"><img class=" wp-image-2734  colorbox-2722" alt="vCO registered within the vSphere Web Client" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrator-registered.png" width="629" height="261" /></a><p class="wp-caption-text">vCO registered within the vSphere Web Client</p></div>
<p>At this point you can give yourself a huge pat on the back.  You&#8217;ve now succesfully setup and configured the vCO virtual appliance and have registered it within your vCenter Server.  In the next portion of this series I will discuss how to create a small test/sample workflow in order to test our integration between vCenter Orchestrator and the vSphere Web Client.</p>
<table width="100%" border="0">
<tbody>
<tr>
<td align="left"><a href="http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-worlkflow-part-1-introduction/"><strong>&lt;&lt;&lt; Part 1 &#8211; Introduction &lt;&lt;&lt;</strong></a></td>
<td align="right"><strong> <a href="http://blog.mwpreston.net/2013/04/11/my-first-vcenter-orchestrator-workflow-part-3-create-a-test-workflow-and-see-the-awesomesauce/">&gt;&gt;&gt; Part 3 &#8211; Create a test workflow and see the awesomesauce &gt;&gt;&gt;</a></strong></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-workflow-part-2-installing-vcenter-orchestrator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first vCenter Orchestrator Worlkflow &#8211; Part 1 &#8211; Introduction</title>
		<link>http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-worlkflow-part-1-introduction/</link>
		<comments>http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-worlkflow-part-1-introduction/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 14:00:11 +0000</pubDate>
		<dc:creator>mwpreston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Orchestrator]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[vCO]]></category>
		<category><![CDATA[vSphere 5.1]]></category>
		<category><![CDATA[vSphere Web Client]]></category>

		<guid isPermaLink="false">http://blog.mwpreston.net/?p=2720</guid>
		<description><![CDATA[vCenter Orchestrator in it&#8217;s basics is a workflow development tool that can be used to schedule and automate multiple tasks in your environment.  A tool that can be used to create and execute workflows not only on your vSphere environment, but with the use of plugins you can manage other types of applications such as [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrate.jpg"><img class="alignleft  wp-image-2725 colorbox-2720" style="border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; margin-left: 5px; margin-right: 5px;" alt="Orchestrate all of the things" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/orchestrate.jpg" width="240" height="159" /></a>vCenter Orchestrator in it&#8217;s basics is a workflow development tool that can be used to schedule and automate multiple tasks in your environment.  A tool that can be used to create and execute workflows not only on your vSphere environment, but with the use of plugins you can manage other types of applications such as Active Directory, SQL, etc.  In the past I&#8217;ve often heard of vCO being described as a hidden gem inside of your vCenter Server; meaning it&#8217;s usually already there and licensed  but for the most part, you are probably not using it.  Such is the case with myself. I&#8217;ve often thought about trying to learn this technology in order to execute some of my common day to day tasks through a more automated and scripted fashion but I&#8217;ve always resulted to things like PowerShell and PowerCLI to do the same job.  Why?  Well, comfort really.  I already have a good handle on Powershell technology and could get things done faster there rather than learning something new.  That being said with the introduction of vSphere 5.1 a bunch of new features and enhancements were made with the vCenter/vCO interoperability.  The biggest IMO was the ability to execute a vCO workflow while directly inside of the vSphere Web Client &#8211; contextually!!!  This integration is what enticed to have a closer look at vCO.  Basically I now have the ability to create workflows that can do pretty much anything and grant access to myself or to others to simply right-click a host from within vSphere and execute them.</p>
<p><a href="http://blog.mwpreston.net/wp-content/uploads/2013/04/contextual.png"><img class="alignright size-medium wp-image-2726 colorbox-2720" alt="contextual" src="http://blog.mwpreston.net/wp-content/uploads/2013/04/contextual-300x228.png" width="300" height="228" /></a>Thus leads me to these series of posts where I will try and take you though my experiences with vCenter Orchestrator; and it couldn&#8217;t come at a more opportune time.  I have approx 50 hosts to configure and deploy within the next few months and in effort to keep them consistent I decided to do so with a PowerCLI script that I had written a while back.  The only difference being I will be executing this script through vCenter Orchestrator (to get that super awesome right-click functionality).  Now there is certainly some overlap here.  A lot of the actions that the PowerCLI script performs actually have workflows already created in vCO that do the same thing however in this case I&#8217;ve decided not to use them &#8211; baby steps right!  Also, it helps to highlight the power of the vCO plugins &#8211; I can in fact do things like execute PowerShell commands, run queries against SQL servers, move objects around in Active Directory, etc.</p>
<p>So with that said I guess you could call this post an introduction of sorts with nothing too technical included.  Be sure to check out Part 2 &#8211; Installing and configuring vCenter Orchestrator where we will dive a bit deeper into the setup of vCO.</p>
<table width="100%" border="0">
<tbody>
<tr>
<td align="left"></td>
<td align="right"><a href="http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-workflow-part-2-installing-vcenter-orchestrator/"><strong>&gt;&gt;&gt; Part 2 &#8211; Installing vCenter Orchestrator &gt;&gt;&gt;</strong></a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.mwpreston.net/2013/04/09/my-first-vcenter-orchestrator-worlkflow-part-1-introduction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

 Served from: blog.mwpreston.net @ 2013-05-23 13:35:56 by W3 Total Cache -->