document.write('\
<div class="poshcode code posh">\
<style type="text/css">\
');
document.write("/**\
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\
 * (http://qbnz.com/highlighter/ and http://geshi.org/)\
 */\
.posh .de1, .posh .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}\
.posh  {font-family:monospace;}\
.posh .imp {font-weight: bold; color: red;}\
.posh li, .posh .li1 {background: #ffffff;}\
.posh .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}\
.posh .li2 {background: #eeeeee;}\
.posh .kw1 {color: #666699; font-weight: bold;}\
.posh .kw2 {color: #333399; font-weight: bold; font-style: italic;}\
.posh .kw3 {color: #003366; font-weight: bold;}\
.posh .kw4 {color: #660033;}\
.posh .co1 {color: #666666; font-style: italic;}\
.posh .coMULTI {color: #666666; font-style: italic;}\
.posh .es0 {color: #000099; font-weight: bold;}\
.posh .br0 {color: #333;}\
.posh .sy0 {color: #66cc66;}\
.posh .st0 {color: #009900;}\
.posh .nu0 {color: #cc66cc;}\
.posh .me1 {color: #003366;}\
.posh .me2 {color: #003366;}\
.posh .re0 {color: #0066cc; font-style: italic;}\
.posh .re1 {font-style: normal;}\
.posh .re2 {color: #000066;}\
.posh .re3 {color: #660033; font-weight: bold;}\
.posh .re4 {color: #003366; font-weight: bold;}\
.posh span.xtra { display:block; }\
");
document.write(".posh ol {float:left; margin: 0px !important; padding: 0px; min-width:100% !important; list-style-position: inside;}\
.posh li.li2, .posh li.li1 {list-style-type:decimal-leading-zero; white-space:nowrap; padding:0 1em 0 0.5em;}\
.posh li {color: #ccc;}\
.posh li div {color: #000; display: inline;}\
.syntax {background:none repeat scroll 0 0 #eee; border:0.5em solid #ccc;}\
.syntax .posh {overflow: auto;}\
.syntax .poshcredit {\
background-color:#eaeaea; color:#666;\
padding:0.5em 1em; clear:both;\
font-size:85%;\
}");
document.write("\n</style>");
document.write('<div class="syntax"><div class="posh" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="co1"># PG-duplex.ps1 : NIC Teaming with failover set on duplexity</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># This script will configure the portgroup to use NIC Teaming where the failover is</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># depending on the duplexity of the Active NIC.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># Parameters:</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp; &nbsp; &nbsp; $esxName&nbsp; &nbsp; &nbsp; &nbsp; : name of the ESX server</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp; &nbsp; &nbsp; $vSwitch&nbsp; &nbsp; &nbsp; &nbsp; : name of the vSwitch</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp; &nbsp; &nbsp; $portgroup&nbsp; &nbsp; &nbsp; : name of the portgroup</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># &nbsp; &nbsp; &nbsp; $actNIC &nbsp; &nbsp; &nbsp; &nbsp; : active NICs array</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp; &nbsp; &nbsp; $sbyNIC &nbsp; &nbsp; &nbsp; &nbsp; : standby NICs array</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># Author: &nbsp; &nbsp; &nbsp; LucD</span></div></li>\
<li class="li1"><div class="de1"><span class="co1"># History:</span></div></li>\
<li class="li2"><div class="de2"><span class="co1"># &nbsp; &nbsp; &nbsp; v1.0 27/08/09 &nbsp; first version</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#</span></div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1"><span class="co1"># Parameters</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$esxName</span> <span class="sy0">=</span> <span class="st0">&quot;esx41.test.local&quot;</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$vSwitch</span> <span class="sy0">=</span> <span class="st0">&quot;vSwitch1&quot;</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$pgname</span> <span class="sy0">=</span> <span class="st0">&quot;Net1&quot;</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$actNIC</span> <span class="sy0">=</span> @<span class="br0">&#40;</span><span class="st0">&quot;vmnic1&quot;</span><span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$sbyNIC</span> <span class="sy0">=</span> @<span class="br0">&#40;</span><span class="st0">&quot;vmnic2&quot;</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="re3">$esx</span> <span class="sy0">=</span> <span class="re0">Get-<span class="re1">VMHost</span></span> <span class="re3">$esxName</span> <span class="sy0">|</span> <span class="re0">Get-<span class="re1">View</span></span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="co1"># Check if vSwitch has Beacon Probing selected</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$esx</span>.<span class="me1">Config</span>.<span class="me1">Network</span>.<span class="me1">Vswitch</span> <span class="sy0">|</span> <span class="kw4">where</span> <span class="br0">&#123;</span><span class="re3">$_</span>.<span class="me1">Name</span> <span class="re2">-eq</span> <span class="re3">$vSwitch</span><span class="br0">&#125;</span> <span class="sy0">|</span> <span class="sy0">%</span><span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">-</span><span class="kw2">not</span> <span class="re3">$_</span>.<span class="me1">Spec</span>.<span class="me1">Policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">FailureCriteria</span>.<span class="me1">CheckBeacon</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;Beacon Probing should be enabled on the vSwitch first&quot;</span> <span class="sy0">|</span> <span class="re0">Out-<span class="re1">Host</span></span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">exit</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="re3">$net</span> <span class="sy0">=</span> <span class="re0">Get-<span class="re1">View</span></span> <span class="re3">$esx</span>.<span class="me1">configmanager</span>.<span class="me1">networksystem</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span> <span class="sy0">=</span> <span class="re0">New-<span class="re1">Object</span></span> VMWare.<span class="me1">Vim</span>.<span class="me1">HostPortGroupSpec</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupSpec</span>.<span class="me1">vswitchname</span> <span class="sy0">=</span> <span class="re3">$vSwitch</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span>.<span class="me1">Name</span> <span class="sy0">=</span> <span class="re3">$pgname</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span> <span class="sy0">=</span> <span class="re0">New-<span class="re1">object</span></span> vmware.<span class="me1">vim</span>.<span class="me1">HostNetworkPolicy</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="co1"># NIC team</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span> <span class="sy0">=</span> <span class="re0">New-<span class="re1">object</span></span> vmware.<span class="me1">vim</span>.<span class="me1">HostNicTeamingPolicy</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">nicOrder</span> <span class="sy0">=</span> <span class="re0">New-<span class="re1">Object</span></span> vmware.<span class="me1">vim</span>.<span class="me1">HostNicOrderPolicy</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">nicOrder</span>.<span class="me1">activeNic</span> <span class="sy0">=</span> <span class="re3">$actNIC</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">nicOrder</span>.<span class="me1">standbyNic</span> <span class="sy0">=</span> <span class="re3">$sbyNIC</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="co1"># Failover Detection</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">failureCriteria</span> <span class="sy0">=</span> <span class="re0">New-<span class="re1">Object</span></span> vmware.<span class="me1">vim</span>.<span class="me1">HostNicFailureCriteria</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">failureCriteria</span>.<span class="me1">checkBeacon</span> <span class="sy0">=</span> <span class="re3">$true</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">failureCriteria</span>.<span class="me1">checkDuplex</span> <span class="sy0">=</span> <span class="re3">$true</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">failureCriteria</span>.<span class="me1">fullDuplex</span> <span class="sy0">=</span> <span class="st0">&quot;full&quot;</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">failureCriteria</span>.<span class="me1">checkSpeed</span> <span class="sy0">=</span> <span class="st0">&quot;exact&quot;</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">failureCriteria</span>.<span class="me1">speed</span> <span class="sy0">=</span> <span class="nu0">1000</span></div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1"><span class="co1"># Notify Switches</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">notifySwitches</span> <span class="sy0">=</span> <span class="re3">$true</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="co1"># Load Balancing</span></div></li>\
<li class="li1"><div class="de1"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">policy</span> <span class="sy0">=</span> <span class="st0">&quot;failover_explicit&quot;</span></div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1"><span class="co1"># Failback</span></div></li>\
<li class="li2"><div class="de2"><span class="re3">$portgroupspec</span>.<span class="me1">policy</span>.<span class="me1">NicTeaming</span>.<span class="me1">RollingOrder</span> <span class="sy0">=</span> <span class="re3">$false</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2"><span class="re3">$net</span>.<span class="me1">UpdatePortGroup</span><span class="br0">&#40;</span><span class="re3">$pgname</span>, <span class="re3">$PortGroupSpec</span><span class="br0">&#41;</span></div></li>\
</ol></div>');document.write('<div class="poshcredit"><a style="float:right;" href="http://poshcode.org/get/1314" title="download file">download</a><a href="http://poshcode.org/?show=1314" title="full view">This Script</a> brought to you by <a href="http://PoshCode.org">PoshCode</a>\
</div>\
</div>\
</div>');
