document.write('\
<div class="poshcode code posh">\
<style type="text/css">\
.posh li.li2, .posh li.li1 { list-style-type:decimal-leading-zero; white-space:nowrap;}');
document.write(".syntax .posh { overflow: auto; background-color:#EAEAEA; border:1px solid #DDDDDD; border-width: 1px 1px 0px 1px;}\
.syntax .poshcredit {\
background-color:#EAEAEA;\
border-bottom:1px solid #DDDDDD;\
color:#666666;\
font-size:85%;\
overflow:hidden;\
padding:0.5em 1em;\
}");
document.write("/* GeSHi (c) Nigel McNie 2004 (http://qbnz.com/highlighter) */\
.posh .de1, .posh .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}\
.posh  {font-family: monospace;}\
.posh .imp {font-weight: bold; color: red;}\
.posh li {background: #ffffff;}\
.posh li.li2 {background: #f8f8f8;}\
.posh .kw1 {color: #666699; font-weight: bold;}\
.posh .kw2 {color: #333399; font-weight: bold; font-style: italic;}\
.posh .kw3 {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: #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;}\
");
document.write('</style>');
document.write('<div class="syntax"><div class="posh" style="font-family: monospace;"><ol><li class="li1"><div class="de1"><span class="co1">#Author:&nbsp; &nbsp; &nbsp; &nbsp; Glenn Sizemore glnsize@get-admin.com</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#Purpose:&nbsp; &nbsp; &nbsp; &nbsp;Convert a DN to a Canonical name, and back again.</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#Example:&nbsp; &nbsp; &nbsp; &nbsp;PS &gt; ConvertFrom-Canonical \'get-admin.local/test/test1/Sizemore, Glenn E\'</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;CN=Sizemore\\, Glenn E,OU=test1,OU=test,DC=getadmin,DC=local</span></div></li>\
<li class="li1"><div class="de1"><span class="co1">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PS &gt; ConvertFrom-DN \'CN=Sizemore\\, Glenn E,OU=test1,OU=test,DC=getadmin,DC=local\'</span></div></li>\
<li class="li2"><div class="de2"><span class="co1">#&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;get-admin.local/test/test1/Sizemore, Glenn E</span></div></li>\
<li class="li1"><div class="de1">&nbsp;</div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1"><span class="kw1">function</span> <span class="re0">ConvertFrom-<span class="re1">DN</span></span> </div></li>\
<li class="li2"><div class="de2"><span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1"><span class="kw1">param</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="re4">string</span><span class="br0">&#93;</span><span class="re3">$DN</span>=<span class="br0">&#40;</span>Throw <span class="st0">\'$DN is required!\'</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span> <span class="re3">$item</span> <span class="kw1">in</span> <span class="br0">&#40;</span><span class="re3">$DN</span>.<span class="kw2">replace</span><span class="br0">&#40;</span><span class="st0">\'\\,\'</span>,<span class="st0">\'~\'</span><span class="br0">&#41;</span>.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">&quot;,&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">switch</span> <span class="re2">-regex</span> <span class="br0">&#40;</span><span class="re3">$item</span>.<span class="me1">TrimStart</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">Substring</span><span class="br0">&#40;</span><span class="nu0">0</span>,<span class="nu0">3</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;CN=&quot;</span> <span class="br0">&#123;</span><span class="re3">$CN</span> = <span class="st0">\'/\'</span> + <span class="re3">$item</span>.<span class="kw2">replace</span><span class="br0">&#40;</span><span class="st0">&quot;CN=&quot;</span>,<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>;continue<span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;OU=&quot;</span> <span class="br0">&#123;</span><span class="re3">$ou</span> += ,<span class="re3">$item</span>.<span class="kw2">replace</span><span class="br0">&#40;</span><span class="st0">&quot;OU=&quot;</span>,<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>;<span class="re3">$ou</span> += <span class="st0">\'/\'</span>;continue<span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;DC=&quot;</span> <span class="br0">&#123;</span><span class="re3">$DC</span> += <span class="re3">$item</span>.<span class="kw2">replace</span><span class="br0">&#40;</span><span class="st0">&quot;DC=&quot;</span>,<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>;<span class="re3">$DC</span> += <span class="st0">\'.\'</span>;continue<span class="br0">&#125;</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">&nbsp; &nbsp; <span class="br0">&#125;</span> </div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re3">$canoincal</span> = <span class="re3">$dc</span>.<span class="me1">Substring</span><span class="br0">&#40;</span><span class="nu0">0</span>,<span class="re3">$dc</span>.<span class="me1">length</span> - <span class="nu0">1</span><span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="re3">$i</span> = <span class="re3">$ou</span>.<span class="me1">count</span>;<span class="re3">$i</span> <span class="re2">-ge</span> <span class="nu0">0</span>;<span class="re3">$i</span> -- <span class="br0">&#41;</span><span class="br0">&#123;</span><span class="re3">$canoincal</span> += <span class="re3">$ou</span><span class="br0">&#91;</span><span class="re4"><span class="re3">$i</span></span><span class="br0">&#93;</span><span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re3">$canoincal</span> += <span class="re3">$cn</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="kw2">replace</span><span class="br0">&#40;</span><span class="st0">\'~\'</span>,<span class="st0">\',\'</span><span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">return</span> <span class="re3">$canoincal</span></div></li>\
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp;</div></li>\
<li class="li1"><div class="de1"><span class="kw1">function</span> <span class="re0">ConvertFrom-<span class="re1">Canonical</span></span> </div></li>\
<li class="li2"><div class="de2"><span class="br0">&#123;</span></div></li>\
<li class="li1"><div class="de1"><span class="kw1">param</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="re4">string</span><span class="br0">&#93;</span><span class="re3">$canoincal</span>=<span class="br0">&#40;</span>trow <span class="st0">\'$Canonical is required!\'</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re3">$obj</span> = <span class="re3">$canoincal</span>.<span class="kw2">Replace</span><span class="br0">&#40;</span><span class="st0">\',\'</span>,<span class="st0">\'\\,\'</span><span class="br0">&#41;</span>.<span class="me1">Split</span><span class="br0">&#40;</span><span class="st0">\'/\'</span><span class="br0">&#41;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span><span class="re4">string</span><span class="br0">&#93;</span><span class="re3">$DN</span> = <span class="st0">&quot;CN=&quot;</span> + <span class="re3">$obj</span><span class="br0">&#91;</span><span class="re3">$obj</span>.<span class="me1">count</span> - <span class="nu0">1</span><span class="br0">&#93;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="re3">$i</span> = <span class="re3">$obj</span>.<span class="me1">count</span> - <span class="nu0">2</span>;<span class="re3">$i</span> <span class="re2">-ge</span> <span class="nu0">1</span>;<span class="re3">$i</span>--<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="re3">$DN</span> += <span class="st0">&quot;,OU=&quot;</span> + <span class="re3">$obj</span><span class="br0">&#91;</span><span class="re4"><span class="re3">$i</span></span><span class="br0">&#93;</span><span class="br0">&#125;</span></div></li>\
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re3">$obj</span><span class="br0">&#91;</span><span class="re4"><span class="nu0">0</span></span><span class="br0">&#93;</span>.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">&quot;.&quot;</span><span class="br0">&#41;</span> | <span class="re0">ForEach-<span class="re1">Object</span></span> <span class="br0">&#123;</span> <span class="re3">$DN</span> += <span class="st0">&quot;,DC=&quot;</span> + <span class="re3">$_</span><span class="br0">&#125;</span></div></li>\
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">return</span> <span class="re3">$dn</span></div></li>\
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li></ol></div>');document.write('<div class="poshcredit"><a style="float:right;" href="http://poshcode.org/get/512" title="download file">download</a><a href="http://poshcode.org/?show=512" title="full view">This Script</a> brought to you by <a href="http://PoshCode.org">PoshCode</a>\
</div>\
</div>\
</div>');