tag:blogger.com,1999:blog-110266922024-03-13T20:48:16.205+00:00CosmosKey...about the things we do...Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-11026692.post-66931647338428036522012-10-29T14:55:00.001+00:002012-10-29T14:55:26.502+00:00Powershell ScriptMethod weirdness!<br />
PS C:\> $fooBlock = {param ([parameter(mandatory=$true)]$bar)"bar $bar"}<br />
PS C:\> &$fooBlock <-- ask="ask" bar="bar" for="for" p="p" parameter="parameter" the="the" will="will">...<br />
PS C:\> new-item -Path function:\ -name foo -Value $fooblock<br />
PS C:\> foo <-- ask="ask" bar="bar" for="for" p="p" parameter="parameter" the="the" will="will">...<br />
PS C:\> $fooScriptMethod = ""| Add-Member -MemberType scriptmethod -Name Foo -Value $fooblock -pass<br />
PS C:\> $fooScriptMethod.foo() <-- _not_="_not_" ask="ask" bar="bar" for="for" p="p" parameter="parameter" the="the" will="will"><br />
Also OverloadDefinitions shows up empty.<br />
<br />
PS C:\> $fooScriptMethod.foo.OverloadDefinitions<br />
System.Object Foo();<br />
<br />
Is it just me or is this weird behavior?<br />
</--></--></-->Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com0tag:blogger.com,1999:blog-11026692.post-21824084840844849422010-09-11T21:03:00.000+01:002010-09-11T21:03:48.251+01:00Powershell Wake-OnLan FunctionMe and my colleague were discussing just before the left for the weekend and at one point he said he said; "I always switch off my PC before the weekend and it's always switched on when I come back on Monday. It didn't used to do that so they (the desktop operations team) must have deployed Wake-on-Lan". This triggered a thought in my head, how does Wake-on-Lan work. So after my colleague left I googled around a bit and found <a href="http://www.jibble.org/wake-on-lan/">this</a> piece of java code. After seeing how easy it is to send a Wake-on-Lan magic packet I couldn't stop myself from spending another half an hour at work to build a powershell Wake-on-Lan function.<br />
<br />
To wake a PC up just run the following:<br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">PS C:\PS> Wake-OnLan -BroadCastAddress 192.168.0.255 -MacAddress 32:2D:F4:32:7D:E5</span></span><br />
<br />
Where -BroadCastAddress is the IP Address subnet address and where -MacAddress is the mac address of the computer to wake up. The -MacAddress parameter takes the address in either the colon (32:24:F4:32:7D:E5) or the dash (32-24-F4-32-7D-E5) format. Here is the function...<br />
<br />
<div><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">Function</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">Wake-OnLan</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;">{</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">param</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> [</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">string</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$BroadCastAddress</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">throw</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">"</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">Mandatory</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-Parameter</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-BroadCastAddress</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">missing</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">,</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">for</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">example</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">192.168.0.255</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">"),</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> [</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">string</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$MacAddress</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">throw</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">"</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">Mandatory</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-Parameter</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-MacAddress</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">missing</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">,</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">for</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">example</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">32</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">:</span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">2</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">D</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">:</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">F4</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">:</span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">32</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">:</span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">7</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">D</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">:</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">E5</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">or</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">32-2</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">D-F4-32-7D-E5</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">")</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> )</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> [</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">void</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">][</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">System.Reflection.Assembly</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]::</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">LoadWithPartialName</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">("</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">System.Net</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">")</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> [</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">void</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">][</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">System.Reflection.Assembly</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]::</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">LoadWithPartialName</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">("</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">System.Net.Sockets</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">")</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$udpClient</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">new-object</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">System.Net.Sockets.UdpClient</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$endPoint</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">new-object</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">System.Net.IPEndPoint</span></span><span class="Apple-style-span" style="font-size: small;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">([</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">System.Net.IPAddress</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]::</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">Parse</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$BroadCastAddress</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">)),</span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">10000</span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="sc0"></span></span><span class="sc0"> <span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$MacAddress</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$MacAddress.Replace</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(":","</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">")</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> [</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">byte</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[]]</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$macBytes</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$macAddress.split</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">("</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">")</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">|</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">%</span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;">{</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">byte</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]"</span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">0</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">x$_</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">"</span></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;">}</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> [</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">byte</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[]]</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$bytes</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">new-object</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">"</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">byte</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[]"</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">6</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">+</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">16</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">*</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$macBytes.length</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">))</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span class="sc11"><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">for</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">0</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">;</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-lt</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">6</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">;</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">++)</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;">{</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$bytes</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">byte</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">0</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">xff</span></span><br />
<span class="sc13"><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">}</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span class="sc11"><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">for</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">6</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">;</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-lt</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$bytes.length</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">;</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">+=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$macBytes.length</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">)</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;">{</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span class="sc11"><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">for</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$j</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">0</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">;</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$j</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">-lt</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$macBytes.length</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">;</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$j</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">++)</span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$bytes</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$i</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">+</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$j</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">=</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$macBytes</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">[</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$j</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]</span></span><br />
<span class="sc13"><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;">}</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><br />
<span class="sc13"><span class="Apple-style-span" style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">}</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$udpClient.connect</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$endPoint</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">)</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"> [</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">void</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">]</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$udpClient.Send</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">(</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$bytes</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">,</span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">$bytes.length</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">)</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">Write-Host</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">"</span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">Magic</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">packet</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">has</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">been</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;">sent</span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;">"</span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span><span class="sc13"><span class="Apple-style-span" style="font-size: small;">}</span></span><span class="sc0"><br />
</span></div><br />
<br />
Please enjoy!Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com0tag:blogger.com,1999:blog-11026692.post-67155483108546159972010-09-10T01:06:00.000+01:002010-09-10T01:06:55.359+01:00Get Certificate Chain from any port with PowershellSome time back I needed to dump the certificate chain from an LDAP server. I cobbled together a small function to connect to any SSL/TLS port and download the certificate chain.<br />
<br />
The function takes 3 parameters, -Server, -Port and -ToBase64. I think all of them are self describing. Without the -ToBase64 the function returns a X509Certificate2 object from which you can get the Subject, Issuer, Thumbprint (...) fields.<br />
<br />
Sample execution:<br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">PS C:\> Get-CertificateChain -server lon001 -Port 636 -ToBase64 > c:\cert.cer</span></span><br />
<br />
I used the function to collect all certificates from all our Domain Controller in our Active Directory domain, lo and behold, we had a few Domain Controllers with old certs. So it was very useful. Here's the function...<br />
<div><br />
</div><br />
<br />
<div><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Function</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Get-CertificateChain</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">param</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$server</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">throw</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Mandatory</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">parameter</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-Server</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">is</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">missing.</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"),</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">int</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$port</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">throw</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Mandatory</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">parameter</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-Port</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">is</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">missing.</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"),</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">switch</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$ToBase64</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$code</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=@"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Collections</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Net</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Net.Security</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Net.Sockets</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Security.Authentication</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Text</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Security.Cryptography.X509Certificates</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.IO</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Threading</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">namespace</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CosmosKey.Powershell</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> public</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">class</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">SslUtility</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> {</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">byte</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CertChain</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">object</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Lock</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">new</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">object</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Hashtable</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">certificateErrors</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">new</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Hashtable</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">bool</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ValidateServerCertificate</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">object</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sender</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">X509Certificate</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">certificate</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">X509Chain</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">chain</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">SslPolicyErrors</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sslPolicyErrors</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><br />
<span class="sc0"> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">{</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">byte</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">data</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">certificate.Export</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">X509ContentType.Cert</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">lock</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Lock</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><br />
<span class="sc0"> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">{</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CertChain</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">data</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Monitor.Pulse</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Lock</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">}</span><br />
<span class="sc0"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">return</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">true</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">}</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">byte</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">GetCertificate</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">serverName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">int</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">port</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><br />
<span class="sc0"> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">{</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">TcpClient</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">client</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">new</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">TcpClient</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">serverName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">port</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">SslStream</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sslStream</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">new</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">SslStream</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><br />
<span class="sc0"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">client.GetStream</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(),</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">false</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">new</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">RemoteCertificateValidationCallback</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ValidateServerCertificate</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">),</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">null</span><br />
<span class="sc0"> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="color: red; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;">);</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">try</span><br />
<span class="sc0"> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">{</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">lock</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Lock</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><br />
<span class="sc0"> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">{</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sslStream.BeginAuthenticateAsClient</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">serverName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">null</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">null</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">bool</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">didTimeout</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Monitor.Wait</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Lock</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">}</span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">}</span><br />
<span class="sc0"> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">finally</span><br />
<span class="sc0"> </span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">{</span><br />
<span class="sc0"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">client.Close</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">}</span><br />
<span class="sc0"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">return</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CertChain</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">}</span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"@</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> Add-Type</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$code</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span>[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">byte</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[]]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$certData</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><b>=</b><span class="Apple-style-span" style="color: black;"> </span></span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CosmosKey.Powershell.SslUtility</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">GetCertificate</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$server</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$port</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><br />
<span class="sc0"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span>if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$ToBase64</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">convert</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ToBase64String</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$certData</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">else</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$cert</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">new-object</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Security.Cryptography.X509Certificates.X509Certificate2</span></span></span><br />
<span class="sc0"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$cert.import</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$certData</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><br />
<span class="sc0"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color: black; font-weight: normal;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"> </span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;">$cert</span><br />
<span class="sc0"> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span> </span></div><br />
Please enjoy!Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com3tag:blogger.com,1999:blog-11026692.post-56490901173036916032010-09-08T16:08:00.001+01:002010-09-08T16:17:13.239+01:00Powershell script to get Active Directory LastLogonAs you probably know the Active Directory LastLogon attribute is not synchronized between servers so you need to query each server in the domain to find out the last logon of a user. A while back I knocked up this little function:<br />
<br />
<div><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">Function</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">Get-LastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{</span></span></span><br />
<span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">param</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><br />
<span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $Username</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">throw</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">Mandatory</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">parameter</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-Username</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">is</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">missing</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">")</span></span></span><br />
<span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$rootDse</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">adsi</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LDAP</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">://</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">RootDSE</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$configNamingContext</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$rootDse.psbase.properties.configurationnamingcontext</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$username.ToLower</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">()</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-notcontains</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">dc</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=")</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $defaultNamingContext</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$rootDse.psbase.properties.defaultNamingContext</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $searcher</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">new-object</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">DirectoryServices.DirectorySearcher</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ADSI</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LDAP</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">://</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$defaultNamingContext</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"),"(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">samaccountname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$username</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)",</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">string</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[]]"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">distinguishedName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">")</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $result</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$searcher.findall</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">()</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$result.Count</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-ne</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">1</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">throw</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">Username</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">not</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">found</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><br />
<span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $userDN</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$result</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.properties.distinguishedname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">else</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$username</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-match</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"^</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LDAP</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">://")</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $userDN</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">adsi</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$username</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.psbase.distinguishedName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $userDN</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$username</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$lastLogonObj</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">""</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">|</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">select</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">UserDN</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ServerNameLastLogonMap</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$lastLogonObj.UserDN</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$userDN</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$confSearcher</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">new-object</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">DirectoryServices.DirectorySearcher</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ADSI</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LDAP</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">://</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$configNamingContext</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"),"(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">objectclass</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ntdsdsa</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$lastLogonObj.ServerNameLastLogonMap</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$confSearcher.FindAll</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">()</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">|</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">%</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{</span></span></span><br />
<span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black;"><span class="Apple-style-span" style="font-weight: normal;"> </span></span>$record</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">""</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">|</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">select</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ServerName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $serverDN</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$_.GetDirectoryEntry</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">()</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.psbase.parent.psbase.properties.serverReference</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $serverDnsName</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">adsi</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LDAP</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">://</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$serverDN</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">")</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.psbase.properties.dnshostname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> write-progress</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-Activity</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">Reading</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">value</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">for</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$userdn</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">from</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-Status</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">server</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$serverDnsName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $record.Servername</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$serverDnsName</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">((</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ADSI</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LDAP</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">://</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$serverDnsName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">/</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$userDN</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">")</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.psbase.properties.LastLogon.count</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-eq</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">1</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $adsLargeInteger</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ADSI</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LDAP</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">://</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$serverDnsName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">/</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$userDN</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">")</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.psbase.properties.LastLogon</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$highPart</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$adsLargeInteger.GetType</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">()</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.InvokeMember</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">("</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">HighPart</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">",[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.Reflection.BindingFlags</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">GetProperty</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$null</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$adsLargeInteger</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$null</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span>$lowPart</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$adsLargeInteger.GetType</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">()</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.InvokeMember</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">("</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LowPart</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">",[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.Reflection.BindingFlags</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">GetProperty</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$null</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$adsLargeInteger</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$null</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>$bytes</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.BitConverter</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">GetBytes</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$highPart</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>$tmp</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.Byte</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[]]@(</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;"> </span></span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.Array</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">Copy</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$bytes</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$tmp</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">4</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">4</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>$highPart</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.BitConverter</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ToInt64</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$tmp</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>$bytes</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.BitConverter</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">GetBytes</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$lowPart</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>$lowPart</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">System.BitConverter</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ToUInt32</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$bytes</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">,</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">0</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>$value</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$lowPart</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">+</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$highPart</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span></span></span></span>$record.LastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">datetime</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">FromFileTimeUTC</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$value</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">)</span></span></span><br />
<span class="sc0"></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue; font-weight: bold;"> </span></span></span></span><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: small; font-weight: bold;"> </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">}</span><br />
<span class="sc0"></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> $record</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$getDomainLastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{$this.ServerNameLastLogonMap</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">|</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">?</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">{$_.Lastlogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-ne</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$null}</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">|</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">sort</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-Property</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">LastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-Descending</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">|</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">select</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-first</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">1</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></span></span><br />
<span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span> </span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$lastLogonObj</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">|</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">add-member</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-MemberType</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">ScriptProperty</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-Name</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">DomainLastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-Value</span></span></span><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">$getDomainLastLogon</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">-PassThru</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;"><b><br />
</b></span></span></span> </span><span class="sc13"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></span></span><span class="sc0"><b><br />
</b> </span></div><br />
Run it as <span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">Get-LastLogon <i>samaccountname</i></span> <username>or <span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;">Get-LastLogon <i>distinguishedname</i></span><user-dn>. This will return a object with three properties <i>UserDN</i>, <i>SererNameLastLogonMap</i> which holds all the DC's LastLogon value for the user and <i>DomainLastLogon</i> which holds the latest LastLogon value in the domain.</user-dn></username><br />
<username><user-dn><br />
</user-dn></username><br />
<username><user-dn>Please enjoy!</user-dn></username>Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com2tag:blogger.com,1999:blog-11026692.post-9720263984755579522010-09-06T19:52:00.000+01:002010-09-06T19:52:49.501+01:00Powershell script to generate an executable from a powershell script.I was helping someone with a bit of powershelling. The guy needed a small script which asked a user a few questions and then the account created a local account on the machine based on the answers. He had started to use some Windows Forms powershell code and helped him with a few small details. The problem is that it's a bit ugly to run a Windows Forms script with a big shell sitting in the background doing nothing.<br />
<br />
There are a few different solutions out there to hide the Powershell console window but was thinking in the lines about. Hey why not just compile an executable with the Add-Type cmdlet, embed the script inside the executable and run the script from inside the executable. At deployment you only have to run the executable.<br />
<br />
A little script compiles a Powershell script into an executable. The script is not brilliant and is only intended for two different scenarios.<br />
<br />
<ol><li>Embed scripts where you do NOT want a console window. This executable allows NO console interaction.</li>
<li>Embed scripts where you keep the Runspace alive (the -KeepAlive switch) for event listeners. This is useful if you are register for WMI events or other events in your script.</li>
</ol>Here it is, enjoy!<br />
<br />
<div><div style="line-height: 1; white-space: pre;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">function</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">New-PSExecutable</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">param</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$Scriptname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">throw</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Mandatory</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">param</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-scriptname</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">is</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">missing.</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"),</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$Filename</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">,</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">switch</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$KeepAlive</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$code</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=@"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Diagnostics</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Windows.Forms</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Management.Automation.Runspaces</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Management.Automation</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">namespace</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CosmosKey.Powershell.Utils</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> class</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">RunEmbedded</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> {</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">codeB64</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"@@@";</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">funcName</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CosmosKeyRunEmbedded</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">";</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Pipeline</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">pipe</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Runspace</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">rs</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">RunspaceFactory.CreateRunspace</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">void</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Main</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[]</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">args</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> {</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">try</span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">rs.Open</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">pipe</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">rs.CreatePipeline</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">String</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">script</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Text.Encoding.UTF8.GetString</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Convert.FromBase64String</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">codeB64</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">));</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Text.StringBuilder</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">new</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Text.StringBuilder</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">function</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">+</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">funcName</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">+</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">script</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("[</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">reflection.assembly</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">loadwithpartialname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">'System.Xml'</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("[</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">reflection.assembly</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">loadwithpartialname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">'System.Management'</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("[</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">reflection.assembly</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">loadwithpartialname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">'System.DirectoryServices'</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("[</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">reflection.assembly</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">loadwithpartialname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">'System.Data'</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)");</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.Append</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">funcName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">foreach</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">arg</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">in</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">args</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.Append</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">arg.StartsWith</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"))</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.Append</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">arg</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">else</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">if</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">arg.Contains</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"))</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.Append</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("\""</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">+</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">arg</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">+</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"\"");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">else</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.Append</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">arg</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">);</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.AppendLine</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("");</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">pipe.Commands.AddScript</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">sb.ToString</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">());</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ZZZ</span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CloseRunspace</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">catch</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Exception</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">;</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> private</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">static</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">void</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">CloseRunspace</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">()</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">pipe.StopAsync</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span></div><div style="line-height: 1; white-space: pre;"><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">rs.CloseAsync</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></div><div style="white-space: pre;"><div style="line-height: 1;"><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"@</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">test-path</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$scriptname</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$script</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">:</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">scriptFilename</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">get-item</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$scriptname</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">else</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">throw</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Can't</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">find</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">script</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">file</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">([</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">string</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">IsNullOrEmpty</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$filename</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">))</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$filename</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$scriptFilename.Name.ToLower</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">()</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-replace</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">.ps1</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">","</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">.exe</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$filename</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$pwd</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">\</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$filename</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">Write-Host</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Source</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">script</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">file</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">:</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$scriptFilename.FullName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">Write-Host</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Output</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">executable</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">:</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$filename</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$scriptBytes</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">io.file</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ReadAllBytes</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$scriptFilename.FullName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$b64</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">convert</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">tobase64string</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$scriptBytes</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$newCode</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$code</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-replace</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"@@@",</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$b64</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">if</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$KeepAlive</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$newCode</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$newCode</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-replace</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ZZZ</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">","</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">pipe.InvokeAsync</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Application.Run</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">else</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$newCode</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$newCode</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-replace</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ZZZ</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">","</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">pipe.Invoke</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">();"</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: black; font-weight: normal;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="Apple-style-span" style="font-size: small;">$formsAssembly</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">reflection.assembly</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">LoadWithPartialName</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Windows.Forms</span></span></span><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">")</span></span></span></div><div style="line-height: 1;"><span style="color: red; font-weight: bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> Add-Type</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$newCode</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-OutputAssembly</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$filename</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-OutputType</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">WindowsApplication</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-ReferencedAssemblies</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$formsAssembly.Location</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span></div></div><div style="line-height: 1; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"></span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="Apple-style-span" style="line-height: normal; white-space: normal;">To build the executable just load the function and run</span></div><div style="line-height: 1; white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-family: 'Times New Roman'; line-height: normal; white-space: normal;"><br />
</span></span></div><div style="line-height: 1; white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-family: 'Times New Roman'; line-height: normal; white-space: normal;"><span class="Apple-style-span" style="line-height: 16px; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></span></span></span><span class="Apple-style-span" style="line-height: 16px; white-space: pre;"><span class="sc11"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">New-PSExecutable <scriptname> [outputfile] [-KeepAlive]</scriptname></span></span></span></span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-family: 'Times New Roman'; line-height: normal; white-space: normal;"><br />
</span></span></div>The scriptname vaariable is mandatory obviously but the outputfile will be the scriptname without the .ps1 extension and with an .exe extension if it's left out.<br />
The -KeepAlive flag will make sure that the application stays alive if the script is using events. The executable can be shutdown from within the script with [Windows.Forms.Application]::Exit() when using the -KeepAlive switch, if you need to exit the application from within.<br />
<div style="line-height: 1; white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-family: 'Times New Roman'; line-height: normal; white-space: normal;"><br />
</span></span></div>Here are two sample scripts one test script for being executed without the -KeepAlive and one which uses events which is better compiled with the -KeepAlive switch.<br />
<br />
Without -KeepAlive:<br />
<br />
<div><div style="white-space: pre;"><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11" style="line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">void</span></span></span><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">][</span></span></span><span style="color: blue; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">system.reflection.assembly</span></span></span><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11" style="line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">LoadWithPartialName</span></span></span><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span style="color: blue; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Windows.Forms</span></span></span><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">")</span></span></span><br />
<span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"></span></span></span><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11" style="line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">windows.forms.messagebox</span></span></span><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11" style="line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Show</span></span></span><span style="color: grey; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><b><span class="Apple-style-span" style="font-size: small;">("</span></b><span class="Apple-style-span" style="color: black;"><span class="Apple-style-span" style="font-size: small;">Hey there's no script here... or is there ;)</span></span></span></span><span style="color: grey; font-weight: bold; line-height: 1;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">")</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span> </span></span><span class="sc0"><span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small; line-height: 13px;"><b><br />
</b></span></span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc0"></span></div><span class="sc0"></span><br />
<span class="sc0"></span><br />
<span class="sc0"></span><br />
<span class="sc0"><div style="line-height: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: normal;">With -KeepAlive:</div></span><span class="sc0"><br />
<span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">void</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">][</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">system.reflection.assembly</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">LoadWithPartialName</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Windows.Forms</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">")</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">void</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">][</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">system.reflection.assembly</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">LoadWithPartialName</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">System.Timers</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">")</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$timer</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">New-Object</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Timers.Timer</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$timer.Interval</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc4"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">5000</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$global</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">:</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">maxTimes</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc4"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">5</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$job</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">=</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Register-ObjectEvent</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-inputObject</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$timer</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-eventName</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Elapsed</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-sourceIdentifier</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Timer.Random</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-Action</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> $global</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">:</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">maxTimes--</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> [</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">windows.forms.messagebox</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Show</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$maxTimes</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> if</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">(</span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$global</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">:</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">maxTimes</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">-le</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc4"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">0</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc12"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> [</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">windows.forms.application</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Exit</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">()</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"></span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span class="sc13"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">windows.forms.messagebox</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">]::</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Show</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">("</span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Started.</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span style="color: #8000ff; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Runs</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc4"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">5</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="sc11"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">times</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">")</span></span></span><span class="sc0"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="color: blue; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$timer.start</span></span></span><span style="color: grey; font-weight: bold;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">()</span></span></span><span class="sc0"><br />
</span> </span><br />
<div style="line-height: 1; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="line-height: normal; white-space: normal;"><br />
</span></span><br />
<span class="sc0"><span class="Apple-style-span" style="line-height: normal; white-space: normal;">The scripts aren't perfect but they did what I needed. </span></span></div><div style="line-height: 1; white-space: pre;"><span class="sc0"><span class="Apple-style-span" style="line-height: normal; white-space: normal;">Please Enjoy!</span></span></div><br />
<span class="sc0">Regards Johan Akerstrom</span></div></div>Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com11tag:blogger.com,1999:blog-11026692.post-88022750552937792052010-08-12T13:32:00.001+01:002010-08-12T13:39:00.471+01:00Online sIDHistory edit / SID injectionAs probably most of you know way back Microsoft had to back track on their initial claim of the domain being the security boundary to state that the forest is the security boundary. This due to the way kerberos works. The SIDs in the access tokens are not verified by kerberized services, but to forge access token requires some serious privileges to start with. If you are domain admin then it has been possible to manipulate the AD dit database to add abitrary SIDs to the sIDHistory attribute.<br />
<br />
There already are offline AD database editing tools like <a href="http://www.tbiro.com/projects/SHEdit/index.htm">SHEdit</a> (SID History Edit). This tool circumvents the DsAddSidHistory() limitations allowing an domain admin in any domain to access any domains in the forest as any user. With Samba4 it's possible to do an online sIDHistory attack by j<a href="http://wiki.samba.org/index.php/Samba4_joining_a_domain">oining a Samba4 DC to an AD domain</a> and then use the Samba4 ldb database edit tool <i>ldbedit</i>. The ldbedit tool can be used even while samba is being used. With a Samba4 DC in your domain sIDHistory editing becomes really easy.<br />
<br />
So a quick walk through...<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_VudP0UZn0TI/TGPeXTWqcyI/AAAAAAAAALY/NRmQTUw3XWw/s1600/dsa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="409" src="http://1.bp.blogspot.com/_VudP0UZn0TI/TGPeXTWqcyI/AAAAAAAAALY/NRmQTUw3XWw/s640/dsa.png" width="640" /></a></div><br />
Here we can see three DCs DEV01 and DEV04 are both Windows 2008 R2 DCs LUX01 is a Ubuntu 10.04 Server. Follow this guide on samba.org to join a Samba 4 server as DC.<br />
<br />
After we successfully added a Samba4 DC into the domain and have it synchronizing we create a new user.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_VudP0UZn0TI/TGPiHrBp64I/AAAAAAAAALg/xj76XLQ0Vd8/s1600/newuser1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://1.bp.blogspot.com/_VudP0UZn0TI/TGPiHrBp64I/AAAAAAAAALg/xj76XLQ0Vd8/s640/newuser1.png" width="576" /></a></div>A brand new test user.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_VudP0UZn0TI/TGPnbDCCQcI/AAAAAAAAALo/7qpbJRz9cYk/s1600/newuser2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://4.bp.blogspot.com/_VudP0UZn0TI/TGPnbDCCQcI/AAAAAAAAALo/7qpbJRz9cYk/s640/newuser2.png" width="478" /></a></div>Only member of Domain User.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_VudP0UZn0TI/TGPnyPFUbvI/AAAAAAAAALw/5_fVNkdchcE/s1600/newuser3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://2.bp.blogspot.com/_VudP0UZn0TI/TGPnyPFUbvI/AAAAAAAAALw/5_fVNkdchcE/s640/newuser3.png" width="478" /></a></div>The sIDHistory attribute is empty.<br />
<br />
Now we need to go to the Samba4 box and edit the newly created user in the Samba4 <i>ldb</i> database.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPn7QTAJHI/AAAAAAAAAL4/1UfrP3ZrMcg/s1600/ldbedit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="402" src="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPn7QTAJHI/AAAAAAAAAL4/1UfrP3ZrMcg/s640/ldbedit.png" width="640" /></a></div>Run <i>ldbedit</i>.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPoD3WyHPI/AAAAAAAAAMA/BSAofnNh9ok/s1600/ldbedit2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="402" src="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPoD3WyHPI/AAAAAAAAAMA/BSAofnNh9ok/s640/ldbedit2.png" width="640" /></a></div>The <i>ldbedit </i>tool allows us to edit all the domain objects in <i>vi</i> in standard LDIF format. This tool is <u>very</u> powerful.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_VudP0UZn0TI/TGPoI-dLgeI/AAAAAAAAAMI/zT8NwEthKt8/s1600/ldbedit3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="402" src="http://4.bp.blogspot.com/_VudP0UZn0TI/TGPoI-dLgeI/AAAAAAAAAMI/zT8NwEthKt8/s640/ldbedit3.png" width="640" /></a></div>Add in the <i>sIDHistory</i> atribute with the <i>Enterprise Admins</i> SID (<i>S-1-5-21-2343920589-472558339-514900765-519</i>).<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_VudP0UZn0TI/TGPoycA9eeI/AAAAAAAAAMQ/zC5stUPviLk/s1600/newuser4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://4.bp.blogspot.com/_VudP0UZn0TI/TGPoycA9eeI/AAAAAAAAAMQ/zC5stUPviLk/s640/newuser4.png" width="478" /></a></div>After a few seconds let's have another look at the <i>sIDHistory</i> attribute. Nicely populated with the <i>Enterprise Admins</i> SID.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPo6H_V48I/AAAAAAAAAMY/jLepTQlVL3c/s1600/tokensz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="528" src="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPo6H_V48I/AAAAAAAAAMY/jLepTQlVL3c/s640/tokensz.png" width="640" /></a></div><br />
Now we go and login to the DC (which a normal Domain User shouldn't be able to do unless we change the default policy, which we haven't done here) with the user which only was a member of the <i>Domain Users </i>group.<br />
<br />
We run <i>whoami.exe</i> and <i>tokensz.exe</i>. Whoami shows us who we are logged in as and tokensz shows us which SIDs we have in our access token. As we can see here we have the <i>Enterprise Admins</i> SID. To just make sure that it works in practice let's add our self to the <i>Enterprise Admin</i> group. We aren't a member of the group yet. We only have the <i>Enterprise Admins</i> SID in our access token.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_VudP0UZn0TI/TGPpEsmGqXI/AAAAAAAAAMg/5GX7PXPwW6w/s1600/ad.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="538" src="http://2.bp.blogspot.com/_VudP0UZn0TI/TGPpEsmGqXI/AAAAAAAAAMg/5GX7PXPwW6w/s640/ad.png" width="640" /></a></div>Only administrator is in the group.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPpKF6deWI/AAAAAAAAAMo/uMa9iZaaQr4/s1600/ad1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="538" src="http://3.bp.blogspot.com/_VudP0UZn0TI/TGPpKF6deWI/AAAAAAAAAMo/uMa9iZaaQr4/s640/ad1.png" width="640" /></a></div>Now we added our self to the group without any problems.<br />
<br />
Bottom line, Domain Admins <u>are</u> Equivalent to Enterprise Admins. The forest is the security boundary, but you knew that already. Anyway this is a very accessible and online version of the sIDHistory offline edit so nothing is really new here. Enjoy!<br />
<br />
//Johan AkerstromJohan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com7tag:blogger.com,1999:blog-11026692.post-61860355999795180672010-07-29T22:46:00.000+01:002010-07-29T22:46:41.704+01:00Setting the owner on an ACL in Powershell.<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">I was trying to set the owner of an ACL in powershell using the following code:</span><br />
<br />
<br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;">PS C:\Users\Johan> $acl = get-acl c:\temp\acltest</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;">PS C:\Users\Johan> $principal = New-Object Security.Principal.NTAccount "$env:computername\ownertestaccount"</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;">PS C:\Users\Johan> $acl.psbase.SetOwner($principal)</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;">PS C:\Users\Johan> set-acl -Path C:\Temp\acltest -AclObject $acl</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: red;">Set-Acl : The security identifier is not allowed to be the owner of this object.</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: red;">At line:1 char:8</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: red;">+ set-acl <<<< -Path C:\Temp\acltest -AclObject $acl</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: red;"> + CategoryInfo : InvalidOperation: (C:\Temp\acltest:String) [Set-Acl], InvalidOperationException</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: red;"> + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.SetAclCommand</span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;">PS C:\Users\Johan></span></span></span><br />
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: blue;"><br />
</span></span></span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">So setting this ACL doesn't work. Why? I am an administrator! OK, what happens when I start the shell with Run As Administrator?... The same result.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">So now we go to google and search a bit and I found the following <a href="http://support.microsoft.com/kb/318744">KB article</a>. What it says is that we need to have the rights to do the deed. Hey, not too surprising. By default Administrators and Backup Administrators have the <i>Restore files and directories </i>(SeRestorePrivilege</span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">) User Right. To set the owner we need to have this right, but in the scenario above I was executing the code with a account with all this privilege.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">The problem here is that the privilege is not enabled in the access token, we need to call a function called <i><a href="http://msdn.microsoft.com/en-us/library/aa375202(VS.85).aspx">AdjustTokenPrivileges()</a> </i>to adjust the current access token of our process. So we need to call this function, pass in a variable saying that we need to enable a privilege and pass in the privilege we want to enable. To call this function we need to do a little bit of PInvoke. I borrowed the base of my code from <a href="http://www.pinvoke.net/default.aspx/advapi32.adjusttokenprivileges">pinvoke.net</a>.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"></span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">So here is my little Set-Owner function.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">function Set-Owner {</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">param(</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[System.Security.Principal.IdentityReference]$Principal=$(throw "Mandatory parameter -Principal missing."),</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$File=$(throw "Mandatory parameter -File missing.")</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">)</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">if(-not (Test-Path $file)){</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">throw "File $file is missing."</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">if($Principal -eq $null){</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">throw "Principal is NULL"</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$code = @"</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using System;</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">using System.Runtime.InteropServices;</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">namespace CosmosKey.Utils</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public class TokenManipulator</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall,</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen);</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[DllImport("kernel32.dll", ExactSpelling = true)]</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal static extern IntPtr GetCurrentProcess();</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">phtok);</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[DllImport("advapi32.dll", SetLastError = true)]</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal static extern bool LookupPrivilegeValue(string host, string name,</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">ref long pluid);</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[StructLayout(LayoutKind.Sequential, Pack = 1)]</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal struct TokPriv1Luid</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public int Count;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public long Luid;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public int Attr;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal const int SE_PRIVILEGE_DISABLED = 0x00000000;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal const int SE_PRIVILEGE_ENABLED = 0x00000002;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal const int TOKEN_QUERY = 0x00000008;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_AUDIT_NAME = "SeAuditPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_BACKUP_NAME = "SeBackupPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_CREATE_GLOBAL_NAME = "SeCreateGlobalPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_CREATE_SYMBOLIC_LINK_NAME = "SeCreateSymbolicLinkPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_DEBUG_NAME = "SeDebugPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_IMPERSONATE_NAME = "SeImpersonatePrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_INC_WORKING_SET_NAME = "SeIncreaseWorkingSetPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_RELABEL_NAME = "SeRelabelPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_RESTORE_NAME = "SeRestorePrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_SECURITY_NAME = "SeSecurityPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_TCB_NAME = "SeTcbPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_TIME_ZONE_NAME = "SeTimeZonePrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_TRUSTED_CREDMAN_ACCESS_NAME = "SeTrustedCredManAccessPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_UNDOCK_NAME = "SeUndockPrivilege";</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public const string SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"; </span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public static bool AddPrivilege(string privilege)</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">try</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">bool retVal;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">TokPriv1Luid tp;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">IntPtr hproc = GetCurrentProcess();</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">IntPtr htok = IntPtr.Zero;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">tp.Count = 1;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">tp.Luid = 0;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">tp.Attr = SE_PRIVILEGE_ENABLED;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">retVal = LookupPrivilegeValue(null, privilege, ref tp.Luid);</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">retVal = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero);</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">return retVal;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">catch (Exception ex)</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">throw ex;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">public static bool RemovePrivilege(string privilege)</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">try</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">bool retVal;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">TokPriv1Luid tp;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">IntPtr hproc = GetCurrentProcess();</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">IntPtr htok = IntPtr.Zero;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">tp.Count = 1;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">tp.Luid = 0;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">tp.Attr = SE_PRIVILEGE_DISABLED;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">retVal = LookupPrivilegeValue(null, privilege, ref tp.Luid);</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">retVal = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero);</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">return retVal;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">catch (Exception ex)</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">{</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">throw ex;</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">"@</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$errPref = $ErrorActionPreference</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$ErrorActionPreference= "silentlycontinue"</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$type = [CosmosKey.Utils.TokenManipulator]</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$ErrorActionPreference = $errPref</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">if($type -eq $null){</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">add-type $code</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$acl = Get-Acl $File</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$acl.psbase.SetOwner($principal)</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[void][CosmosKey.Utils.TokenManipulator]::AddPrivilege([CosmosKey.Utils.TokenManipulator]::SE_RESTORE_NAME)</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">set-acl -Path $File -AclObject $acl -passthru</span></span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span></span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[void][CosmosKey.Utils.TokenManipulator]::RemovePrivilege([CosmosKey.Utils.TokenManipulator]::SE_RESTORE_NAME)</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">}</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
If we run this function then we will see a very different result:<br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">PS C:\Users\Johan> get-acl C:\Temp\acltest</span></span><br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> Directory: C:\Temp</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Path Owner Access</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">---- ----- ------</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">acltest <span class="Apple-style-span" style="color: red;">MyLaptop</span>\<span class="Apple-style-span" style="color: red;">OldTest </span>BUILTIN\Administrators Allow FullCo...</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">PS C:\Users\Johan> <span class="Apple-style-span" style="color: blue;">set-owner</span> $(<span class="Apple-style-span" style="color: blue;">new-object security.principal.ntaccount "$env:computername\</span><span class="Apple-style-span" style="color: red;">NewTest</span><span class="Apple-style-span" style="color: blue;">"</span>) C:\Temp\acltest</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> Directory: C:\Temp</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">Path Owner Access</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">---- ----- ------</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">acltest <span class="Apple-style-span" style="color: red;">MyLaptop\</span><span class="Apple-style-span" style="color: red;">NewTest</span> BUILTIN\Administrators Allow FullCo...</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">PS C:\Users\Johan></span></span><br />
<br />
In the end we got there but it took me some time... :)Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com17tag:blogger.com,1999:blog-11026692.post-85564092302160352342009-09-24T01:05:00.000+01:002009-09-24T01:05:21.262+01:00Powershell function: Convert-DiacriticCharacters<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"></span><br />
<div>We needed to normalize diacritics characters to standard English characters. Diacritic characters are extended or accented characters to the modern latin basic alphabet i.e. A-Z. Scandinavian diacritics such as å,ä and ö should in normalized form become a, a and o. Spanish diacritics should such as ó, ñ and ç should be normalized to o, n and c. The unicode normalization forms can be found here and the normalization charts here.</div><div> </div><div>Since we mostly use powershell these days, I've written a nice Convert-DiacriticCharacters powershell function.</div><div> </div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">function Convert-DiacriticCharacters {<br />
param(</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> [string]$inputString</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> )</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> [string]$formD = $inputString.Normalize(</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span><span class="Apple-style-span" style="font-family: arial, sans-serif;"><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>System.text.NormalizationForm]</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>::FormD</span></span></span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-family: arial, sans-serif;"><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> )</span></span></span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> $</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>stringBuilder = new-object System.Text.StringBuilder</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> for ($i = 0; $i -lt $formD.Length; $i++){</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> </span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">$</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>unicodeCategory = <span class="Apple-style-span" style="font-size: medium;"><span class="Apple-style-span" style="font-family: arial, sans-serif;"><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[System.Globalization.</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>CharUnicodeInfo]::GetUnicodeCategory($formD[$i])</span></span></span></span></span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-family: arial, sans-serif;"><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> $nonSPacingMark = </span><span class="Apple-style-span" style="font-family: arial, sans-serif;"><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">[System.Globalization.</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>UnicodeCategory]::</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>NonSpacingMark</span></span></span></span></span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr> if($unicodeCategory -ne $nonSPacingMark</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">){</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> $stringBuilder.Append($formD[$</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>i]) | out-null</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> }<br />
$stringBuilder.ToString().</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>Normalize([System.text.</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"><wbr></wbr>NormalizationForm]::FormC)<br />
</span>}</span></div><div> </div><div>The resulting function will convert diacritics in the follwoing way:</div><div> </div><div><span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;"> PS C:\> Convert-DiacriticCharacters "Ångström"<br />
Angstrom<br />
PS C:\> Convert-DiacriticCharacters "Ó señor"<br />
O senor</span></span></div><div><span style="font-family: 'Courier New', Courier, monospace;"><br />
</span></div><div>In our Identity Management projects we encounter issues like these as soon as we deal with global companies. Many systems can't handle Unicode characters or diacritic characters from different non-unicode code pages, in our case we were writing some code to provision users in RACF and RACF couldn't handle the characters.</div>Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com11tag:blogger.com,1999:blog-11026692.post-43656362978774995702009-09-24T00:26:00.004+01:002009-10-02T21:14:03.789+01:00Automated User Provisioning with Windows PowerShell<span style="color: #333333; font-family: Verdana; font-size: 12px; line-height: 16px;"></span><br />
As you can see in the history of my previous articles (hmm …my single previous article) I’m not a frequent blogger. I just thought that I had to make a blog response to a fairly nice but slightly missing the point article in Technet Magazine. The article is called <a href="http://technet.microsoft.com/en-us/magazine/2009.03.windowspowershell.aspx" style="color: #b85b5a; text-decoration: none;">Windows Powershell Automated User Provisioning</a>, which comes in four parts. The article describes how to do create a User (AD and Exchange 2007), Create Home Folder, ACL home folder and Add user to groups, Set other attributes.<br />
<br />
The scripts are nice enough but I’ve gone through a similar process in a global Active Directory environment and the process is not as simple as the Technet article sees things. There are two things which lack consideration, multi site as the first point and the other is a lack of consideration for mature environments. I’m not sure if the latter is explained well as a single point but I’ll expand on that one in a second. I’m not really criticising here, since I enjoyed the Technet article, but more extending the discussion on provisioning.<br />
<b><br />
</b><br />
<strong>To the first point, multi site:</strong><br />
<br />
The scripts in the article don’t take into consideration the normal 15 minute sync replication delay in multi site environments. You can’t blankly create AD users without specifying a DC. You need to control where you create the account if you wish to have “realtime” provisioning. You need to have some logic to first resolve where the users are going to be created. For example use the logic, whatever it happens to be, to determine which home folder server to use. Then you need to resolve which site the home folder server is in or directly ask the home folder server for its secure channel using <em>NLTEST.exe</em>. The secure channel will be an ideal DC to provision the user to.<br />
<br />
When provisioning the exchange 2007 mailbox you will step into a similar issue to the issue above, all though this one is easily solvable. You need to establish which site the mailbox resides in before you create the account. If exchange and the account is in the same domain but different sites then you will face replications issues i.e. The user account might not have been synchronized to the DC which exchange is talking to. To solve this issue you can use the new-mailbox CMDLET’s switches ‑<em>domaincontroller</em> and ‑<em>linkeddomaincontroller</em>. The latter switch is for specifying the DC for the account domain if exchange is running in a resource forest.<br />
<br />
Moving into the ACLing of home folders, whatever client or server running the cacls.exe tool will be doing username to SID resolution over its secure channel. If you are running the script on a workstation in one site and the target home folder server sits in another site then there might be further replication issues where the SID resolution fails to find the user account. Cacls.exe can also mess up the order of the ACEs in the ACL so therefore it shouldn’t be used. Using Get-ACL and the System.Security.AccessControl namespace is a far better idea.<br />
<b><br />
</b><br />
<strong>Second point ,mature environments.</strong><br />
<br />
What I’m trying to say whit this one is that the Technet article doesn’t take into consideration, for better or worse, things like : We have NetApp Filer servers, other people might have Samba based NAS solutions for home folder storage; corporate standards –a standard might have been set across the corporate for each home folder to be a share. I know it’s not necessary to have this anymore but once implemented in an environment it can be hard to back out of it. Large mature environments often have these quirks.<br />
<br />
In my first point, the multi site point, I fall flat on the second point of critique actually. NetApp Filers don’t support the RPC call behind the <em>NLTEST</em> query for secure channel. So I was violating my own point of critique in that paragraph. This complicates the issue of getting hold of a suitable DC for account provisioning. NetApp Filers doesn’t either support the <em>NLTEST</em> query to get the site name (<em>NLTEST</em> is using the<em>DsGetSiteName()</em> in <em>NETAPI32.dll</em>). This leaves us with querying the subnets and calculating the site from the IP address of the NetApp Filer.<br />
<br />
If the corporate standard is to user individual shares for each home folder, then you have to do two additional tasks to fully provision an AD user. You need to create a share and then permission the share. A share can be created using WMI or by calling <em>NetShareAdd</em>() in<em>NETAPI32.dll</em>. WMI works fine in Windows only environment, NetApp Filers can auto create shares but in other NAS environments you could try to resort back to the <em>NetShareAdd</em>() function. We decided on using<em>NetShareAdd</em>() function which is a C function, we call it by on the fly compiling a small C# class which in turn uses PInvoke to call the C function. Share permissioning can be done with <em>System.Security.AccessControl.NativeObjectSecurity</em>.<br />
<br />
When you permission the share and folder, be sure that you have read the ObjectSID from the newly provisioned AD account. Again, this is to ensure that no username to SID resolution takes place on the client or server running the code.The <em>SecureIdentifier</em> object can be created from the ObjectSID and the passed to the <em>AccessRule</em> constructor to avoid Username to SID lookups.<br />
<b><br />
</b><br />
<strong>Our wrap up.</strong><br />
<br />
After our small ordeals of getting this working flawlessly in our environment we created an embedded Powershell host and wrapped it up in a web service which talks SPML (Service Provisioning Markup Language). Now users can be provisioned from any SPML compliant requester agent.<br />
Other people have probably seen similar issues as we have done and it would be great to see what issues you’ve seen and how you’ve solved it to be able to do realtime provision in a fail safe manor in a global AD environment. So please add your 2 cent to the puzzle.Johan Akerstromhttp://www.blogger.com/profile/17899776928291434638noreply@blogger.com0