<?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>vmweaver.com &#187; ha</title>
	<atom:link href="http://vmweaver.com/index.php/tag/ha/feed/" rel="self" type="application/rss+xml" />
	<link>http://vmweaver.com</link>
	<description>Mindless ramblings of a geek...</description>
	<lastBuildDate>Thu, 06 Oct 2011 20:42:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Get-HACapacity</title>
		<link>http://vmweaver.com/index.php/2009/02/get-hacapacity/</link>
		<comments>http://vmweaver.com/index.php/2009/02/get-hacapacity/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 02:26:51 +0000</pubDate>
		<dc:creator>Mark A. Weaver</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[ha]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://vmweaver.com/?p=46</guid>
		<description><![CDATA[This script will calculate the HighAvailability capacity of a VMware ESX Cluster. ### Written by Mark A. Weaver ## Date: 7/27/2008 ## Version: 1.0 ## Website: www.vmweaver.com ## ## Call this function and pass in -ServerName -ClusterName ## Output should be an object containing the information ## ## Feel free to modify as needed to [...]]]></description>
			<content:encoded><![CDATA[<p>This script will calculate the HighAvailability capacity of a VMware ESX Cluster.</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008000;">### Written by Mark A. Weaver</span>
<span style="color: #008000;">##  Date: 7/27/2008</span>
<span style="color: #008000;">##  Version: 1.0</span>
<span style="color: #008000;">##  Website: www.vmweaver.com</span>
<span style="color: #008000;">##</span>
<span style="color: #008000;">##  Call this function and pass in -ServerName  -ClusterName</span>
<span style="color: #008000;">##  Output should be an object containing the information</span>
<span style="color: #008000;">##</span>
<span style="color: #008000;">##  Feel free to modify as needed to suit your needs, but please keep this header</span>
<span style="color: #008000;">##</span>
<span style="color: #008000;">##  Thanks  -- Mark</span>
&nbsp;
<span style="color: #0000FF;">function</span> Get<span style="color: pink;">-</span>HACapacity<span style="color: #000000;">&#40;</span>
<span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #800080;">$ServerName</span><span style="color: pink;">,</span>
<span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #800080;">$ClusterName</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
		<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$ServerName</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-and</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$ClusterName</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #008000;"># These booleans tell me if I am using the VMware default memory and cpu reservations for the cluster.</span>
			<span style="color: #800080;">$DASMemDefault</span> <span style="color: pink;">=</span> <span style="color: #800080;">$True</span>
			<span style="color: #800080;">$DASCPUDefault</span> <span style="color: pink;">=</span> <span style="color: #800080;">$True</span>
&nbsp;
		<span style="color: #008000;"># The following numbers are derived from VMware published numbers for memory overhead.</span>
		<span style="color: #008000;"># I have dropped them into arrays using the number of vCPUs as an index to get the correct constant.</span>
		<span style="color: #008000;"># This is why you will notice only [1], [2], and [4] have non-zero values</span>
		<span style="color: #008000;"># These constants are used later on when calculating Memory Reserve.</span>
			<span style="color: #800080;">$MemConst32</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">3.262</span><span style="color: pink;">,</span> <span style="color: #804000;">5.769059</span><span style="color: pink;">,</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">6.77933</span>
			<span style="color: #800080;">$MemConst64</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">3.2678</span><span style="color: pink;">,</span> <span style="color: #804000;">5.79251</span><span style="color: pink;">,</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">6.82622</span>
			<span style="color: #800080;">$MemBase32</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">87.56</span><span style="color: pink;">,</span> <span style="color: #804000;">108.73</span><span style="color: pink;">,</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">146.75</span>
			<span style="color: #800080;">$MemBase64</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">107.54</span><span style="color: pink;">,</span> <span style="color: #804000;">146.41</span><span style="color: pink;">,</span> <span style="color: #804000;">0</span><span style="color: pink;">,</span> <span style="color: #804000;">219.82</span>
&nbsp;
		<span style="color: #008000;"># Initialize some Variables</span>
			<span style="color: #800080;">$MaxMemRes</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span>
			<span style="color: #800080;">$MacNumCPU</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span>
			<span style="color: #800080;">$MaxCPUResVM</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;&quot;</span>
			<span style="color: #800080;">$VMCount</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span>
&nbsp;
		<span style="color: #008000;"># define default memory and cpu reservation</span>
			<span style="color: #800080;">$DASMinMHz</span> <span style="color: pink;">=</span> <span style="color: #804000;">256</span>
			<span style="color: #800080;">$DASMinMemory</span> <span style="color: pink;">=</span> <span style="color: #804000;">256</span>
&nbsp;
			<span style="color: #800080;">$viServerName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ServerName</span>
			<span style="color: #800080;">$viClusterName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ClusterName</span>
&nbsp;
		<span style="color: #008000;"># Connect to the VirtualCenter Server and get some info</span>
			<span style="color: #800080;">$viServer</span> <span style="color: pink;">=</span> Connect<span style="color: pink;">-</span>VIServer <span style="color: #800080;">$viServerName</span>
			<span style="color: #800080;">$viCluster</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>cluster <span style="color: #800080;">$viClusterName</span>
			<span style="color: #800080;">$viHosts</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>vmhost <span style="color: pink;">-</span>location <span style="color: #800080;">$viCluster</span>
			<span style="color: #800080;">$viClusterV</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>view <span style="color: #800080;">$viCluster</span>.ID
&nbsp;
		<span style="color: #008000;"># Get the &quot;Resources&quot; Resource Pool from the cluster.</span>
		<span style="color: #008000;"># This gives us the Reservation Pools for Memory and CPU</span>
			<span style="color: #800080;">$viResGroup</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>ResourcePool <span style="color: #008080; font-style: italic;">-Name</span> <span style="color: #800000;">&quot;Resources&quot;</span> <span style="color: pink;">-</span>Location <span style="color: #800080;">$viCluster</span>
			<span style="color: #800080;">$viCPURes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viResGroup</span>.CpuReservationMHz
			<span style="color: #800080;">$viMemRes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viResGroup</span>.MemReservationMB
			<span style="color: #800080;">$viHostCount</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viClusterV</span>.Summary.NumHosts
&nbsp;
		<span style="color: #008000;"># Get HA cluster configuration information</span>
			<span style="color: #800080;">$viHostFailures</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viClusterV</span>.Configuration.DasConfig.FailoverLevel
&nbsp;
		<span style="color: #008000;"># Get a list of options that may be configured at the clusters level</span>
		<span style="color: #008000;"># We are looking for whether or not the default memory and cpu</span>
		<span style="color: #008000;">#  reservations have been overridden</span>
			<span style="color: #800080;">$viDASOptions</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viClusterV</span>.Configuration.DASConfig.Option
			<span style="color: #800080;">$viVMs</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>vm <span style="color: pink;">-</span>Location <span style="color: #800080;">$viCluster</span>
&nbsp;
		<span style="color: #008000;"># Is Adminisssion Control enabled on the cluster?</span>
			<span style="color: #800080;">$viClusterControl</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viClusterV</span>.Configuration.DASConfig.AdmissionControlEnabled	
&nbsp;
		<span style="color: #008000;"># See if das.vmMemoryMinMB key is defined and grab its value</span>
		<span style="color: #008000;"># See if das.vmCpuMinMHZ key is defined and grab its value</span>
			<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$viDASoptions</span>.Count <span style="color: #FF0000;">-ne</span> <span style="color: #804000;">0</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$viDASOption</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$viDASOptions</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$viDASOption</span>.Key <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;das.vmMemoryMinMB&quot;</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$DASMemDefault</span> <span style="color: pink;">=</span> <span style="color: #800080;">$False</span>
					<span style="color: #800080;">$DASMinMemory</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viDASOption</span>.Value <span style="color: #000000;">&#125;</span>
&nbsp;
					<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$viDASOption</span>.Key <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;das.vmCpuMinMHz&quot;</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$DASCPUDefault</span> <span style="color: pink;">=</span> <span style="color: #800080;">$False</span>
					<span style="color: #800080;">$DASMinMHz</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viDASOption</span>.Value <span style="color: #000000;">&#125;</span>
				<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #008000;"># Let's go through every VM and see what the maximum CPU and Memory reservation is.</span>
		<span style="color: #008000;"># We will also get a count of powered on VMs.</span>
		<span style="color: #008000;"># When we hit a maximum reservation, save the machine name that set that maximum</span>
			<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$viVM</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$viVMs</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #800080;">$NumCPU</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viVm</span>.NumCPU
				<span style="color: #800080;">$VMMem</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viVm</span>.MemoryMB
				<span style="color: #800080;">$MemRes</span> <span style="color: pink;">=</span> <span style="color: #804000;">0</span>
&nbsp;
				<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$viVM</span>.PowerState <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;PoweredOn&quot;</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$VMCount</span> <span style="color: pink;">+=</span> <span style="color: #804000;">1</span>
			<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #008000;"># Get the VM-view and determine if the current guest CPU or memory reservations configured</span>
			<span style="color: #800080;">$vmView</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>view <span style="color: #800080;">$viVM</span>.ID
			<span style="color: #800080;">$vmViewCPURes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$vmView</span>.ResourceConfig.CpuAllocation.Reservation
			<span style="color: #800080;">$vmViewMemRes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$vmView</span>.ResourceConfig.MemoryAllocation.Reservation
&nbsp;
			<span style="color: #008000;"># If no reservations are set at the VM level, calculate the memory reservation.</span>
			<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$vmViewMemRes</span> <span style="color: #FF0000;">-eq</span> <span style="color: #804000;">0</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$VMMem</span> <span style="color: #FF0000;">-le</span> <span style="color: #804000;">256</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$MemRes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$MemConst64</span><span style="color: #000000;">&#91;</span><span style="color: #800080;">$NumCpu</span><span style="color: #000000;">&#93;</span> <span style="color: pink;">+</span> <span style="color: #800080;">$MemBase64</span><span style="color: #000000;">&#91;</span><span style="color: #800080;">$NumCPU</span><span style="color: #000000;">&#93;</span>
				<span style="color: #000000;">&#125;</span>
				<span style="color: #0000FF;">else</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$viVM</span>.Guest.OSFullName <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Select-String</span> <span style="color: #800000;">&quot;64-bit&quot;</span><span style="color: #000000;">&#41;</span>.Matches.Count<span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-ge</span> <span style="color: #804000;">1</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$MemRes</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$VMMem</span> <span style="color: pink;">/</span> <span style="color: #804000;">256</span><span style="color: #000000;">&#41;</span> <span style="color: pink;">*</span> <span style="color: #800080;">$MemConst64</span><span style="color: #000000;">&#91;</span><span style="color: #800080;">$NumCPU</span><span style="color: #000000;">&#93;</span> <span style="color: pink;">+</span> <span style="color: #800080;">$MemBase64</span><span style="color: #000000;">&#91;</span><span style="color: #800080;">$NumCPU</span><span style="color: #000000;">&#93;</span>
					<span style="color: #000000;">&#125;</span>
					<span style="color: #0000FF;">else</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$MemRes</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$VMMem</span> <span style="color: pink;">/</span> <span style="color: #804000;">256</span><span style="color: #000000;">&#41;</span> <span style="color: pink;">*</span> <span style="color: #800080;">$MemConst32</span><span style="color: #000000;">&#91;</span><span style="color: #800080;">$NumCPU</span><span style="color: #000000;">&#93;</span> <span style="color: pink;">+</span> <span style="color: #800080;">$MemBase32</span><span style="color: #000000;">&#91;</span><span style="color: #800080;">$NumCPU</span><span style="color: #000000;">&#93;</span>
					<span style="color: #000000;">&#125;</span>
				<span style="color: #000000;">&#125;</span>
&nbsp;
				<span style="color: #800080;">$MemRes</span> <span style="color: pink;">+=</span> <span style="color: #800080;">$DASMinMemory</span>
			<span style="color: #000000;">&#125;</span>																			
&nbsp;
			<span style="color: #0000FF;">else</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #800080;">$MemRes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$vmViewMemRes</span> 									
&nbsp;
			<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #008000;">#Figure out if the current VM holds the highest reservation so far</span>
&nbsp;
				<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$vmViewCPURes</span> <span style="color: #FF0000;">-gt</span> <span style="color: #800080;">$DASMinMHz</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$DASMinMHz</span> <span style="color: pink;">=</span> <span style="color: #800080;">$vmViewCPURes</span>
					<span style="color: #800080;">$MaxCPUResVM</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viVM</span>.Name
				<span style="color: #000000;">&#125;</span>			
&nbsp;
				<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$MemRes</span> <span style="color: #FF0000;">-gt</span> <span style="color: #800080;">$MaxMemRes</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$MaxMemRes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$MemRes</span>
					<span style="color: #800080;">$MaxMemResVM</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viVM</span>.Name
				<span style="color: #000000;">&#125;</span>
&nbsp;
				<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$NumCPU</span> <span style="color: #FF0000;">-gt</span> <span style="color: #800080;">$MaxNumCPU</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$MaxNumCPU</span> <span style="color: pink;">=</span> <span style="color: #800080;">$NumCPU</span>
					<span style="color: #800080;">$MaxCPUNumVM</span> <span style="color: pink;">=</span> <span style="color: #800080;">$viVM</span>.Name
				<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$MaxCPUResVM</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #800080;">$MaxCPUResVM</span> <span style="color: pink;">=</span> <span style="color: #800080;">$MaxCPUNumVM</span> <span style="color: #000000;">&#125;</span>			
&nbsp;
		<span style="color: #800080;">$MaxCPURes</span> <span style="color: pink;">=</span> <span style="color: #800080;">$MaxNumCPU</span> <span style="color: pink;">*</span> <span style="color: #800080;">$DASMinMHz</span>
&nbsp;
		<span style="color: #008000;"># Calculate the VM Capacity for the cluster based on memory and cpu reservations.</span>
			<span style="color: #800080;">$ClusterVMCapacityMEM</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#91;</span>Math<span style="color: #000000;">&#93;</span>::Truncate<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$viMemRes</span> <span style="color: pink;">/</span> <span style="color: #800080;">$MaxMemRes</span><span style="color: #000000;">&#41;</span> <span style="color: pink;">*</span> <span style="color: #000000;">&#40;</span> <span style="color: #800080;">$viHostCount</span> <span style="color: pink;">-</span> <span style="color: #800080;">$viHostFailures</span> <span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: pink;">/</span> <span style="color: #800080;">$viHostCount</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
			<span style="color: #800080;">$ClusterVMCapacityCPU</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#91;</span>Math<span style="color: #000000;">&#93;</span>::Truncate<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$viCPURes</span> <span style="color: pink;">/</span> <span style="color: #800080;">$MaxCPURes</span><span style="color: #000000;">&#41;</span> <span style="color: pink;">*</span> <span style="color: #000000;">&#40;</span> <span style="color: #800080;">$viHostCount</span> <span style="color: pink;">-</span> <span style="color: #800080;">$viHostFailures</span> <span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: pink;">/</span> <span style="color: #800080;">$viHostCount</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
&nbsp;
			<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$ClusterVMCapacityMEM</span> <span style="color: #FF0000;">-lt</span> <span style="color: #800080;">$ClusterVMCapacityCPU</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #800080;">$ClusterVMCapacity</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ClusterVMCapacityMEM</span>
			<span style="color: #000000;">&#125;</span>
			<span style="color: #0000FF;">else</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #800080;">$ClusterVMCapacity</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ClusterVMCapacityCPU</span>
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #008000;"># Create an object to return</span>
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> System.Object
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> ClusterCPURes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$viCPURes</span>
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> DefaultCPURes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$DASCPUDefault</span>
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MinCPURes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$DASMinMHz</span>
		   <span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MaxCPUNumVM <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$MaxCPUNumVM</span>
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MaxCPURes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$MaxCPURes</span>
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MaxCPUResVM <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$MaxCPUResVM</span>
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MaxCPUs <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$MaxNumCPU</span>
			<span style="color: #800080;">$CPUObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> VMCapacityCPU <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$ClusterVMCapacityCPU</span>
&nbsp;
			<span style="color: #800080;">$MemObj</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> System.Object
			<span style="color: #800080;">$MemObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> ClusterMemRes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$viMemRes</span>
			<span style="color: #800080;">$MemObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> DefaultMemRes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$DASMemDefault</span>
			<span style="color: #800080;">$MemObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MinMemRes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$DASMinMemory</span>
			<span style="color: #800080;">$MemObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MaxMemRes <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$MaxMemRes</span>
			<span style="color: #800080;">$MemObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> MaxMemResVM <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$MaxMemResVM</span>
			<span style="color: #800080;">$MemObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> VMCapacityMem <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$ClusterVMCapacityMEM</span>
&nbsp;
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> System.Object
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> AdmissionControl <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$viClusterControl</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> CPU <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$CPUObj</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> FailoverHosts <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$viHostFailures</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> HostCount <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$viHostCount</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> Memory <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$MemObj</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> RunningVMs <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$VMCount</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> VIServer <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$viServerName</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> VICluster <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$viClusterName</span>
			<span style="color: #800080;">$OutObj</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Add-Member</span> <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">type</span> NoteProperty <span style="color: #008080; font-style: italic;">-name</span> VMCapacity <span style="color: #008080; font-style: italic;">-value</span> <span style="color: #800080;">$ClusterVMCapacity</span>	
&nbsp;
			<span style="color: #0000FF;">return</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$outObj</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0000FF;">else</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #008000;"># Write usage info</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;-------------------------------------&quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;Get-HACapacity.ps1 Usage:&quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span><span style="color: #000000;">&#40;</span> <span style="color: #800000;">&quot;You must specify the following parameters: &quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;     '-ServerName '  where  is the name of the VirtualCenter Server&quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span><span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;     '-ClusterName '  where  is the name of the cluster to query&quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Let me know if you have any problems with it or would like more info..</p>
<p>&#8211; Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://vmweaver.com/index.php/2009/02/get-hacapacity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

