<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Precision Computing</title>
    <link>http://www.leeholmes.com/blog/</link>
    <description>Software Design and Development</description>
    <copyright>Lee Holmes</copyright>
    <lastBuildDate>Tue, 09 Jun 2009 18:42:33 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>blog-feedback@leeholmes.com</managingEditor>
    <webMaster>blog-feedback@leeholmes.com</webMaster>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=76e4bbaa-3d4b-4b69-9686-4cf1268b98df</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,76e4bbaa-3d4b-4b69-9686-4cf1268b98df.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,76e4bbaa-3d4b-4b69-9686-4cf1268b98df.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=76e4bbaa-3d4b-4b69-9686-4cf1268b98df</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In CTP2 of PowerShell v2, we added a new parameter to Get-Help: <strong>Online</strong>.
This parameter lets help authors declare an “online version” of their help topic,
which PowerShell then launches with your default browser. For the PowerShell cmdlet
help topics, we redirect to the excellent (and more frequently updated) online cmdlet
help topics: <a title="http://technet.microsoft.com/en-us/library/dd347701.aspx" href="http://technet.microsoft.com/en-us/library/dd347701.aspx">http://technet.microsoft.com/en-us/library/dd347701.aspx</a>.
</p>
        <p>
PowerShell supports online help content for both MAML-based help topics (<a title="http://msdn.microsoft.com/en-us/library/bb525433(VS.85).aspx" href="http://msdn.microsoft.com/en-us/library/bb525433(VS.85).aspx">http://msdn.microsoft.com/en-us/library/bb525433(VS.85).aspx</a>, <a title="http://blogs.msdn.com/powershell/archive/2006/09/14/Draft-Creating-Cmdlet-Help.aspx" href="http://blogs.msdn.com/powershell/archive/2006/09/14/Draft-Creating-Cmdlet-Help.aspx">http://blogs.msdn.com/powershell/archive/2006/09/14/Draft-Creating-Cmdlet-Help.aspx</a>, <a title="http://blogs.msdn.com/powershell/archive/2008/12/24/powershell-v2-external-maml-help.aspx" href="http://blogs.msdn.com/powershell/archive/2008/12/24/powershell-v2-external-maml-help.aspx">http://blogs.msdn.com/powershell/archive/2008/12/24/powershell-v2-external-maml-help.aspx</a>)
and inline help comments (<a title="http://technet.microsoft.com/en-us/library/dd819489.aspx" href="http://technet.microsoft.com/en-us/library/dd819489.aspx">http://technet.microsoft.com/en-us/library/dd819489.aspx</a>.)
</p>
        <p>
To add support for the –Online parameter to your own cmdlet help, add a <u>maml:navigationLink</u> element
with a <u>maml:uri</u> node to the <u>maml:relatedLinks</u> section in your MAML help.
The help system uses the first navigation link that contains a URI as the target for
the link.
</p>
        <blockquote>
          <p>
&lt;maml:relatedLinks&gt; 
<br />
              &lt;maml:navigationLink&gt; 
<br />
                    
&lt;maml:linkText&gt;Online version:&lt;/maml:linkText&gt; 
<br />
                    
&lt;maml:uri&gt;<a href="http://go.microsoft.com/fwlink/?LinkID=113279&lt;/maml:uri">http://go.microsoft.com/fwlink/?LinkID=113279</a>&lt;/maml:uri&gt; 
<br />
              &lt;/maml:navigationLink&gt; 
<br />
(…) 
<br />
&lt;/maml:relatedLinks&gt;
</p>
        </blockquote>
        <p>
When writing comment-based help, use the .LINK tag for the same effect:
</p>
        <blockquote>
          <div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 5px; padding-left: 5px; width: 650px; padding-right: 5px; font-family: consolas,lucida console; font-size: 10pt; overflow: auto; border-top: black 1px solid; border-right: black 1px solid; padding-top: 5px">
            <table border="0" cellspacing="0" cellpadding="5">
              <tbody>
                <tr>
                  <td valign="top">
                    <div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #cecece; font-size: 10pt; padding-top: 5px">001 
<br />
002 
<br />
003 
<br />
004 
<br />
005 
<br />
006 
<br />
007 
<br />
008 
<br /></div>
                  </td>
                  <td valign="top" nowrap="nowrap">
                    <div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #fcfcfc; font-size: 10pt; padding-top: 5px">
                      <span style="color: #006400">##
.SYNOPSIS</span>
                      <br />
                      <span style="color: #006400">## Gets an object from the system</span>
                      <br />
                      <span style="color: #006400">## .LINK</span>
                      <br />
                      <span style="color: #006400">## http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx</span>
                      <br />
                      <span style="color: #00008b">function</span>
                      <span style="color: #000000"> </span>
                      <span style="color: #8a2be2">Get-MyObject</span>
                      <br />
                      <span style="color: #000000">{</span>
                      <br />
                      <span style="color: #000000">    </span>
                      <span style="color: #8b0000">"Hello!"</span>
                      <br />
                      <span style="color: #000000">}</span>
                    </div>
                  </td>
                </tr>
              </tbody>
            </table>
          </div>
        </blockquote>
        <p>
For more information about this feature, see <strong>Get-Help Get-Help –Parameter
Online</strong>.
</p>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=76e4bbaa-3d4b-4b69-9686-4cf1268b98df" />
      </body>
      <title>Get-Help &amp;ndash;Online</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,76e4bbaa-3d4b-4b69-9686-4cf1268b98df.aspx</guid>
      <link>http://www.leeholmes.com/blog/GetHelpNdashOnline.aspx</link>
      <pubDate>Tue, 09 Jun 2009 18:42:33 GMT</pubDate>
      <description>&lt;p&gt;
In CTP2 of PowerShell v2, we added a new parameter to Get-Help: &lt;strong&gt;Online&lt;/strong&gt;.
This parameter lets help authors declare an “online version” of their help topic,
which PowerShell then launches with your default browser. For the PowerShell cmdlet
help topics, we redirect to the excellent (and more frequently updated) online cmdlet
help topics: &lt;a title="http://technet.microsoft.com/en-us/library/dd347701.aspx" href="http://technet.microsoft.com/en-us/library/dd347701.aspx"&gt;http://technet.microsoft.com/en-us/library/dd347701.aspx&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
PowerShell supports online help content for both MAML-based help topics (&lt;a title="http://msdn.microsoft.com/en-us/library/bb525433(VS.85).aspx" href="http://msdn.microsoft.com/en-us/library/bb525433(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/bb525433(VS.85).aspx&lt;/a&gt;, &lt;a title="http://blogs.msdn.com/powershell/archive/2006/09/14/Draft-Creating-Cmdlet-Help.aspx" href="http://blogs.msdn.com/powershell/archive/2006/09/14/Draft-Creating-Cmdlet-Help.aspx"&gt;http://blogs.msdn.com/powershell/archive/2006/09/14/Draft-Creating-Cmdlet-Help.aspx&lt;/a&gt;, &lt;a title="http://blogs.msdn.com/powershell/archive/2008/12/24/powershell-v2-external-maml-help.aspx" href="http://blogs.msdn.com/powershell/archive/2008/12/24/powershell-v2-external-maml-help.aspx"&gt;http://blogs.msdn.com/powershell/archive/2008/12/24/powershell-v2-external-maml-help.aspx&lt;/a&gt;)
and inline help comments (&lt;a title="http://technet.microsoft.com/en-us/library/dd819489.aspx" href="http://technet.microsoft.com/en-us/library/dd819489.aspx"&gt;http://technet.microsoft.com/en-us/library/dd819489.aspx&lt;/a&gt;.)
&lt;/p&gt;
&lt;p&gt;
To add support for the –Online parameter to your own cmdlet help, add a &lt;u&gt;maml:navigationLink&lt;/u&gt; element
with a &lt;u&gt;maml:uri&lt;/u&gt; node to the &lt;u&gt;maml:relatedLinks&lt;/u&gt; section in your MAML help.
The help system uses the first navigation link that contains a URI as the target for
the link.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&amp;lt;maml:relatedLinks&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;maml:navigationLink&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;
&amp;lt;maml:linkText&amp;gt;Online version:&amp;lt;/maml:linkText&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;
&amp;lt;maml:uri&amp;gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=113279&amp;lt;/maml:uri"&gt;http://go.microsoft.com/fwlink/?LinkID=113279&lt;/a&gt;&amp;lt;/maml:uri&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/maml:navigationLink&amp;gt; 
&lt;br /&gt;
(…) 
&lt;br /&gt;
&amp;lt;/maml:relatedLinks&amp;gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
When writing comment-based help, use the .LINK tag for the same effect:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 5px; padding-left: 5px; width: 650px; padding-right: 5px; font-family: consolas,lucida console; font-size: 10pt; overflow: auto; border-top: black 1px solid; border-right: black 1px solid; padding-top: 5px"&gt;
&lt;table border="0" cellspacing="0" cellpadding="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #cecece; font-size: 10pt; padding-top: 5px"&gt;001 
&lt;br /&gt;
002 
&lt;br /&gt;
003 
&lt;br /&gt;
004 
&lt;br /&gt;
005 
&lt;br /&gt;
006 
&lt;br /&gt;
007 
&lt;br /&gt;
008 
&lt;br /&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td valign="top" nowrap="nowrap"&gt;
&lt;div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #fcfcfc; font-size: 10pt; padding-top: 5px"&gt;&lt;span style="color: #006400"&gt;##
.SYNOPSIS&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;## Gets an object from the system&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;## .LINK&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;## http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;Get-MyObject&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;Hello!&amp;quot;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
For more information about this feature, see &lt;strong&gt;Get-Help Get-Help –Parameter
Online&lt;/strong&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=76e4bbaa-3d4b-4b69-9686-4cf1268b98df" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,76e4bbaa-3d4b-4b69-9686-4cf1268b98df.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=b87e5dd4-f25a-4497-99e0-57330704b445</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,b87e5dd4-f25a-4497-99e0-57330704b445.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,b87e5dd4-f25a-4497-99e0-57330704b445.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b87e5dd4-f25a-4497-99e0-57330704b445</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There are a few. Based on worldwide numbers (<a href="http://en.wikipedia.org/w/index.php?title=Template:2009_swine_flu_outbreak_table&amp;oldid=286846230">160
confirmed deaths, 3000 “suspected”</a> cases)
</p>
        <ul>
          <li>
Falling out of bed (900 confirmed deaths) 
</li>
          <li>
Falling down the stairs (1,690 confirmed deaths) 
</li>
          <li>
Big storm (874 confirmed deaths) 
</li>
          <li>
Drinking binge (346 confirmed deaths) 
</li>
        </ul>
        <p>
Of course, the statistic left out by the news
</p>
        <ul>
          <li>
Normal flu (36,000 confirmed deaths per year) 
</li>
        </ul>
        <p>
          <a href="http://www.nsc.org/research/odds.aspx">http://www.nsc.org/research/odds.aspx</a>
        </p>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=b87e5dd4-f25a-4497-99e0-57330704b445" />
      </body>
      <title>Things more likely to kill you than Swine Flu</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,b87e5dd4-f25a-4497-99e0-57330704b445.aspx</guid>
      <link>http://www.leeholmes.com/blog/ThingsMoreLikelyToKillYouThanSwineFlu.aspx</link>
      <pubDate>Wed, 29 Apr 2009 17:35:41 GMT</pubDate>
      <description>&lt;p&gt;
There are a few. Based on worldwide numbers (&lt;a href="http://en.wikipedia.org/w/index.php?title=Template:2009_swine_flu_outbreak_table&amp;amp;oldid=286846230"&gt;160
confirmed deaths, 3000 “suspected”&lt;/a&gt;&amp;nbsp;cases)
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Falling out of bed (900 confirmed deaths) 
&lt;li&gt;
Falling down the stairs (1,690 confirmed deaths) 
&lt;li&gt;
Big storm (874 confirmed deaths) 
&lt;li&gt;
Drinking binge (346 confirmed deaths) 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Of course, the statistic left out by the news
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Normal flu (36,000 confirmed deaths per year) 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href="http://www.nsc.org/research/odds.aspx"&gt;http://www.nsc.org/research/odds.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=b87e5dd4-f25a-4497-99e0-57330704b445" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,b87e5dd4-f25a-4497-99e0-57330704b445.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=c46d4981-2717-4808-aaa4-6662f5965c57</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,c46d4981-2717-4808-aaa4-6662f5965c57.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,c46d4981-2717-4808-aaa4-6662f5965c57.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c46d4981-2717-4808-aaa4-6662f5965c57</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I got forwarded an addictive interactive sequencer yesterday (<a href="http://lab.andre-michelle.com/tonematrix">http://lab.andre-michelle.com/tonematrix</a>)
and was immediately hooked. I asked an internal mailing list if there was any kind
of hardware that lets you do this kind of thing on the couch, and got the response
-- “you mean MIDI?” That’s close, but it is closer to a very simplified sequencer.
</p>
        <p>
I play classical guitar... even being a fan of electronic music, I had never seen
a sequencer used, or tried to make anything in one. I’m sure some researcher out there
would love to have me for a “out of touch with reality” anthropology study.
</p>
        <p>
Then I wondered, “Why should GUI folks have all the fun?”
</p>
        <p>
88 lines later, a PowerShell Sequencer / Tracker was born: <a title="http://www.leeholmes.com/projects/PsTracker/PsTracker.zip" href="http://www.leeholmes.com/projects/PsTracker/PsTracker.zip">http://www.leeholmes.com/projects/PsTracker/PsTracker.zip</a>.
Even as a jaded scripter, I’m constantly amazed how compact PowerShell is. Given an
example input:
</p>
        <blockquote>
          <p>
            <font size="2" face="Courier New"># Replace any dash with something else to make a
sound in that spot. 
<br />
# Format: &lt;NOTE&gt;&lt;OCTAVE&gt; &lt;PATTERN&gt; 
<br />
# If you restrict yourself to a pentatonic scale (i.e. CDEGAC), anything sounds good. 
<br />
# Instruments: # ([Toub.Sound.Midi.GeneralMidiInstruments] | gm -static -mem Property
| % { $_.Name } ) -join " " </font>
          </p>
          <p>
            <font size="2" face="Courier New"># .Instrument OverdrivenGuitar </font>
          </p>
          <p>
            <font size="2" face="Courier New">C5 ---------OO-OO-- 
<br />
A5 -------OO-OO---O 
<br />
G4 --------------O- 
<br />
E4 ---------------- 
<br />
D4 X---X---X---X--- 
<br />
C4 ---------------- 
<br />
A4 ---------------- 
<br />
G3 ----X----------- 
<br />
E3 ---------------- 
<br />
D3 ---------------- 
<br />
C3 ---------------- 
<br />
A3 -------OO-OO---- 
<br />
G2 ---------------- 
<br />
E2 ---------------- 
<br />
D2 ---------------- 
<br />
C2 ---------------- </font>
          </p>
          <p>
            <font size="2" face="Courier New"># .Instrument SquareLead 
<br />
C6 -X-X-XX-X--XXX </font>
          </p>
          <p>
            <font size="2" face="Courier New"># .Instrument Ocarina 
<br />
C7 ---------------X-X-XX-X--XXX </font>
          </p>
          <p>
            <font size="2" face="Courier New"># .Instrument Kalimba 
<br />
C8 -----------------X---X---X---X--</font>
          </p>
        </blockquote>
        <p>
This is all it takes to process it:
</p>
        <div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 650px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px">
          <table border="0" cellspacing="0" cellpadding="5">
            <tbody>
              <tr>
                <td valign="top">
                  <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px">001 
<br />
002 
<br />
003 
<br />
004 
<br />
005 
<br />
006 
<br />
007 
<br />
008 
<br />
009 
<br />
010 
<br />
011 
<br />
012 
<br />
013 
<br />
014 
<br />
015 
<br />
016 
<br />
017 
<br />
018 
<br />
019 
<br />
020 
<br />
021 
<br />
022 
<br />
023 
<br />
024 
<br />
025 
<br />
026 
<br />
027 
<br />
028 
<br />
029 
<br />
030 
<br />
031 
<br />
032 
<br />
033 
<br />
034 
<br />
035 
<br />
036 
<br />
037 
<br />
038 
<br />
039 
<br />
040 
<br />
041 
<br />
042 
<br />
043 
<br />
044 
<br />
045 
<br />
046 
<br />
047 
<br />
048 
<br />
049 
<br />
050 
<br />
051 
<br />
052 
<br />
053 
<br />
054 
<br />
055 
<br />
056 
<br />
057 
<br />
058 
<br />
059 
<br />
060 
<br />
061 
<br />
062 
<br />
063 
<br />
064 
<br />
065 
<br />
066 
<br />
067 
<br />
068 
<br />
069 
<br />
070 
<br />
071 
<br />
072 
<br />
073 
<br />
074 
<br />
075 
<br />
076 
<br />
077 
<br />
078 
<br />
079 
<br />
080 
<br />
081 
<br />
082 
<br />
083 
<br />
084 
<br />
085 
<br />
086 
<br />
087 
<br />
088 
<br /></div>
                </td>
                <td valign="top" nowrap="nowrap">
                  <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px">
                    <span style="COLOR: #006400">#requires
-Version 2</span>
                    <br />
                    <span style="COLOR: #00008b">param</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$path</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$bpm</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <br />
                    <span style="COLOR: #ff4500">$scriptPath</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">&amp;</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">{</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #0000ff">Split-Path</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$myInvocation</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">ScriptName</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <br />
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">@{</span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <br />
                    <span style="COLOR: #00008b">function</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">Update-Track</span>
                    <br />
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">Clear</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$null</span>
                    <br />
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #00008b">foreach</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$line</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #00008b">in</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #0000ff">Get-Content</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$path</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #00008b">if</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$line</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">-match</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8b0000">".*Instrument
(.+)([\s]*)$"</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$matches</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #800080">1</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #00008b">if</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #a9a9a9">-not</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">{</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">@{</span>
                    <span style="COLOR: #000000">}</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #00008b">elseif</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$line</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">-notmatch</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8b0000">"#|(^[\s]*$)"</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #ff4500">$note</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #ff4500">$measures</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">-split</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$line</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #00008b">for</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$measure</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #000000">;</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$measure</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">-lt</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$measures</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">Length</span>
                    <span style="COLOR: #000000">;</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$measure</span>
                    <span style="COLOR: #a9a9a9">++</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #00008b">if</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$measures</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$measure</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">-ne</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8b0000">"-"</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">                    </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$measure</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">@(</span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$measure</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">+</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$note</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #8b0000">"Length"</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #008080">[Math]</span>
                    <span style="COLOR: #a9a9a9">::</span>
                    <span style="COLOR: #000000">Max</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #8b0000">"Length"</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$measure</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <br />
                    <br />
                    <span style="COLOR: #ff4500">$fsw</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #0000ff">New-Object</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">System.IO.FileSystemWatcher</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">Split-Path</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">Resolve-Path</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$path</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">ProviderPath</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #ff4500">$path</span>
                    <br />
                    <span style="COLOR: #0000ff">Register-ObjectEvent</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$fsw</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">Changed</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000080">-SourceIdentifier</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">TrackUpdated</span>
                    <br />
                    <br />
                    <span style="COLOR: #0000ff">Update-Track</span>
                    <br />
                    <br />
                    <span style="COLOR: #0000ff">Add-Type</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000080">-Path</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">Join-Path</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$scriptPath</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8b0000">"Toub.Sound.Midi.dll"</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #008080">[Toub.Sound.Midi.MidiPlayer]</span>
                    <span style="COLOR: #a9a9a9">::</span>
                    <span style="COLOR: #000000">OpenMidi</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <br />
                    <span style="COLOR: #00008b">try</span>
                    <br />
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #ff4500">$sleep</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">250</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #00008b">if</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$bpm</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">{</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$sleep</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">1000</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">*</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">120</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">/</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #800080">8</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">*</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$bpm</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #ff4500">$currentMeasures</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">@{</span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #00008b">while</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$true</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #ff4500">$activeNotes</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">@(</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #00008b">foreach</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #00008b">in</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">Keys</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #00008b">if</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #a9a9a9">-not</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$currentMeasures</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">{</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$currentMeasures</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #ff4500">$mappedInstrument</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #008080">[Toub.Sound.Midi.GeneralMidiInstruments]</span>
                    <span style="COLOR: #a9a9a9">::</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <br />
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #008080">[Toub.Sound.Midi.MidiPlayer]</span>
                    <span style="COLOR: #a9a9a9">::</span>
                    <span style="COLOR: #000000">Play</span>
                    <span style="COLOR: #000000">(</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">New-Object</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">Toub.Sound.Midi.ProgramChange</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #ff4500">$mappedInstrument</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #00008b">foreach</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$note</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #00008b">in</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$currentMeasures</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #008080">[Toub.Sound.Midi.MidiPlayer]</span>
                    <span style="COLOR: #a9a9a9">::</span>
                    <span style="COLOR: #000000">Play</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">New-Object</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">Toub.Sound.Midi.NoteOn</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #ff4500">$note</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #800080">127</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #ff4500">$activeNotes</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">+=</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #0000ff">New-Object</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">Toub.Sound.Midi.NoteOff</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #800080">0</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #ff4500">$note</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #800080">127</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #ff4500">$currentMeasures</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">=</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$currentMeasures</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">+</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #800080">1</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">%</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #800080">1</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">+</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$trackEntries</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #ff4500">$instrument</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #a9a9a9">[</span>
                    <span style="COLOR: #8b0000">"Length"</span>
                    <span style="COLOR: #a9a9a9">]</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">                </span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #0000ff">Start-Sleep</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000080">-m</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$sleep</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #ff4500">$activeNotes</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #a9a9a9">|</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #0000ff">%</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">{</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #008080">[Toub.Sound.Midi.MidiPlayer]</span>
                    <span style="COLOR: #a9a9a9">::</span>
                    <span style="COLOR: #000000">Play</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$_</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #00008b">if</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">Get-Event</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">*TrackUpdated*</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #0000ff">Remove-Event</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">TrackUpdated</span>
                    <br />
                    <span style="COLOR: #000000">            </span>
                    <span style="COLOR: #0000ff">Update-Track</span>
                    <br />
                    <span style="COLOR: #000000">        </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #00008b">finally</span>
                    <br />
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #008080">[Toub.Sound.Midi.MidiPlayer]</span>
                    <span style="COLOR: #a9a9a9">::</span>
                    <span style="COLOR: #000000">CloseMidi</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #0000ff">Unregister-Event</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">TrackUpdated</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #0000ff">Remove-Event</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">*TrackUpdated*</span>
                    <br />
                    <span style="COLOR: #000000">}</span>
                  </div>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
        <p>
 
</p>
        <p>
For example: 
</p>
        <blockquote>
          <p>
.\Start-Tracker track.txt 60
</p>
        </blockquote>
        <p>
If your system has a MIDI instrument for “Cowbells,” make sure to add more of them!
This script builds on <a href="http://blogs.msdn.com/toub/">Stephen Toub's</a> MIDI
library, which I can't seem to find a reference to any longer.
</p>
        <p>
As an aside, that research junket eventually led me to playing with a more feature-rich
(free) sequencer called Linux Multimedia Studio. Keeping with the basis of starting
with a pentatonic scale, this took only about an hour or two: <a title="http://www.leeholmes.com/projects/PsTracker/strive.mp3" href="http://www.leeholmes.com/projects/PsTracker/strive.mp3">http://www.leeholmes.com/projects/PsTracker/strive.mp3</a>.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=c46d4981-2717-4808-aaa4-6662f5965c57" />
      </body>
      <title>PowerShell Audio Sequencer</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,c46d4981-2717-4808-aaa4-6662f5965c57.aspx</guid>
      <link>http://www.leeholmes.com/blog/PowerShellAudioSequencer.aspx</link>
      <pubDate>Mon, 20 Apr 2009 21:53:43 GMT</pubDate>
      <description>&lt;p&gt;
I got forwarded an addictive interactive sequencer yesterday (&lt;a href="http://lab.andre-michelle.com/tonematrix"&gt;http://lab.andre-michelle.com/tonematrix&lt;/a&gt;)
and was immediately hooked. I asked an internal mailing list if there was any kind
of hardware that lets you do this kind of thing on the couch, and got the response
-- “you mean MIDI?” That’s close, but it is closer to a very simplified sequencer.
&lt;/p&gt;
&lt;p&gt;
I play classical guitar... even being a fan of electronic music, I had never seen
a sequencer used, or tried to make anything in one. I’m sure some researcher out there
would love to have me for a “out of touch with reality” anthropology study.
&lt;/p&gt;
&lt;p&gt;
Then I wondered, “Why should GUI folks have all the fun?”
&lt;/p&gt;
&lt;p&gt;
88 lines later, a PowerShell Sequencer / Tracker was born: &lt;a title=http://www.leeholmes.com/projects/PsTracker/PsTracker.zip href="http://www.leeholmes.com/projects/PsTracker/PsTracker.zip"&gt;http://www.leeholmes.com/projects/PsTracker/PsTracker.zip&lt;/a&gt;.
Even as a jaded scripter, I’m constantly amazed how compact PowerShell is. Given an
example input:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;font size=2 face="Courier New"&gt;# Replace any dash with something else to make a sound
in that spot. 
&lt;br&gt;
# Format: &amp;lt;NOTE&amp;gt;&amp;lt;OCTAVE&amp;gt; &amp;lt;PATTERN&amp;gt; 
&lt;br&gt;
# If you restrict yourself to a pentatonic scale (i.e. CDEGAC), anything sounds good. 
&lt;br&gt;
# Instruments: # ([Toub.Sound.Midi.GeneralMidiInstruments] | gm -static -mem Property
| % { $_.Name } ) -join " " &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2 face="Courier New"&gt;# .Instrument OverdrivenGuitar &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2 face="Courier New"&gt;C5 ---------OO-OO-- 
&lt;br&gt;
A5 -------OO-OO---O 
&lt;br&gt;
G4 --------------O- 
&lt;br&gt;
E4 ---------------- 
&lt;br&gt;
D4 X---X---X---X--- 
&lt;br&gt;
C4 ---------------- 
&lt;br&gt;
A4 ---------------- 
&lt;br&gt;
G3 ----X----------- 
&lt;br&gt;
E3 ---------------- 
&lt;br&gt;
D3 ---------------- 
&lt;br&gt;
C3 ---------------- 
&lt;br&gt;
A3 -------OO-OO---- 
&lt;br&gt;
G2 ---------------- 
&lt;br&gt;
E2 ---------------- 
&lt;br&gt;
D2 ---------------- 
&lt;br&gt;
C2 ---------------- &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2 face="Courier New"&gt;# .Instrument SquareLead 
&lt;br&gt;
C6 -X-X-XX-X--XXX &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2 face="Courier New"&gt;# .Instrument Ocarina 
&lt;br&gt;
C7 ---------------X-X-XX-X--XXX &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2 face="Courier New"&gt;# .Instrument Kalimba 
&lt;br&gt;
C8 -----------------X---X---X---X--&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
This is all it takes to process it:
&lt;/p&gt;
&lt;div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 650px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px"&gt;
&lt;table border=0 cellspacing=0 cellpadding=5&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;001 
&lt;br&gt;
002 
&lt;br&gt;
003 
&lt;br&gt;
004 
&lt;br&gt;
005 
&lt;br&gt;
006 
&lt;br&gt;
007 
&lt;br&gt;
008 
&lt;br&gt;
009 
&lt;br&gt;
010 
&lt;br&gt;
011 
&lt;br&gt;
012 
&lt;br&gt;
013 
&lt;br&gt;
014 
&lt;br&gt;
015 
&lt;br&gt;
016 
&lt;br&gt;
017 
&lt;br&gt;
018 
&lt;br&gt;
019 
&lt;br&gt;
020 
&lt;br&gt;
021 
&lt;br&gt;
022 
&lt;br&gt;
023 
&lt;br&gt;
024 
&lt;br&gt;
025 
&lt;br&gt;
026 
&lt;br&gt;
027 
&lt;br&gt;
028 
&lt;br&gt;
029 
&lt;br&gt;
030 
&lt;br&gt;
031 
&lt;br&gt;
032 
&lt;br&gt;
033 
&lt;br&gt;
034 
&lt;br&gt;
035 
&lt;br&gt;
036 
&lt;br&gt;
037 
&lt;br&gt;
038 
&lt;br&gt;
039 
&lt;br&gt;
040 
&lt;br&gt;
041 
&lt;br&gt;
042 
&lt;br&gt;
043 
&lt;br&gt;
044 
&lt;br&gt;
045 
&lt;br&gt;
046 
&lt;br&gt;
047 
&lt;br&gt;
048 
&lt;br&gt;
049 
&lt;br&gt;
050 
&lt;br&gt;
051 
&lt;br&gt;
052 
&lt;br&gt;
053 
&lt;br&gt;
054 
&lt;br&gt;
055 
&lt;br&gt;
056 
&lt;br&gt;
057 
&lt;br&gt;
058 
&lt;br&gt;
059 
&lt;br&gt;
060 
&lt;br&gt;
061 
&lt;br&gt;
062 
&lt;br&gt;
063 
&lt;br&gt;
064 
&lt;br&gt;
065 
&lt;br&gt;
066 
&lt;br&gt;
067 
&lt;br&gt;
068 
&lt;br&gt;
069 
&lt;br&gt;
070 
&lt;br&gt;
071 
&lt;br&gt;
072 
&lt;br&gt;
073 
&lt;br&gt;
074 
&lt;br&gt;
075 
&lt;br&gt;
076 
&lt;br&gt;
077 
&lt;br&gt;
078 
&lt;br&gt;
079 
&lt;br&gt;
080 
&lt;br&gt;
081 
&lt;br&gt;
082 
&lt;br&gt;
083 
&lt;br&gt;
084 
&lt;br&gt;
085 
&lt;br&gt;
086 
&lt;br&gt;
087 
&lt;br&gt;
088 
&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td valign=top nowrap&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;&lt;span style="COLOR: #006400"&gt;#requires
-Version 2&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;param&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$path&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$bpm&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$scriptPath&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;&amp;amp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Split-Path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$myInvocation&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;ScriptName&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;@{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Update-Track&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Clear&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$null&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Get-Content&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-match&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;".*Instrument
(.+)([\s]*)$"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$matches&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;1&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;@{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;elseif&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-notmatch&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"#|(^[\s]*$)"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$note&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measures&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-split&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;for&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measure&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measure&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-lt&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measures&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Length&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measure&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;++&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measures&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measure&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-ne&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"-"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measure&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;@(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measure&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$note&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Length"&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[Math]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Max&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Length"&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$measure&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$fsw&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;New-Object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;System.IO.FileSystemWatcher&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Split-Path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Resolve-Path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;ProviderPath&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$path&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #0000ff"&gt;Register-ObjectEvent&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$fsw&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Changed&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;TrackUpdated&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #0000ff"&gt;Update-Track&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #0000ff"&gt;Add-Type&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-Path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Join-Path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$scriptPath&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Toub.Sound.Midi.dll"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #008080"&gt;[Toub.Sound.Midi.MidiPlayer]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;OpenMidi&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;try&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$sleep&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;250&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$bpm&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$sleep&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;1000&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;*&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;120&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;/&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;8&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;*&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$bpm&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMeasures&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;@{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;while&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$true&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$activeNotes&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;@(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Keys&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMeasures&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMeasures&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$mappedInstrument&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[Toub.Sound.Midi.GeneralMidiInstruments]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[Toub.Sound.Midi.MidiPlayer]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Play&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;New-Object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Toub.Sound.Midi.ProgramChange&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$mappedInstrument&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$note&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMeasures&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[Toub.Sound.Midi.MidiPlayer]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Play&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;New-Object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Toub.Sound.Midi.NoteOn&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$note&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;127&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$activeNotes&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;New-Object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Toub.Sound.Midi.NoteOff&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$note&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;127&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMeasures&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMeasures&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;1&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;%&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;1&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$trackEntries&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$instrument&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Length"&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Start-Sleep&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-m&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$sleep&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$activeNotes&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;%&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[Toub.Sound.Midi.MidiPlayer]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Play&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Get-Event&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;*TrackUpdated*&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Remove-Event&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;TrackUpdated&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Update-Track&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;finally&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[Toub.Sound.Midi.MidiPlayer]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;CloseMidi&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Unregister-Event&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;TrackUpdated&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Remove-Event&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;*TrackUpdated*&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
For example: 
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
.\Start-Tracker track.txt 60
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
If your system has a MIDI instrument for “Cowbells,” make sure to add more of them!
This script builds on &lt;a href="http://blogs.msdn.com/toub/"&gt;Stephen Toub's&lt;/a&gt; MIDI
library, which I can't seem to find a reference to any longer.
&lt;/p&gt;
&lt;p&gt;
As an aside, that research junket eventually led me to playing with a more feature-rich
(free) sequencer called Linux Multimedia Studio. Keeping with the basis of starting
with a pentatonic scale, this took only about an hour or two: &lt;a title=http://www.leeholmes.com/projects/PsTracker/strive.mp3 href="http://www.leeholmes.com/projects/PsTracker/strive.mp3"&gt;http://www.leeholmes.com/projects/PsTracker/strive.mp3&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=c46d4981-2717-4808-aaa4-6662f5965c57" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,c46d4981-2717-4808-aaa4-6662f5965c57.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=d16785a9-5e2c-4a6b-9acf-d059da54585c</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,d16785a9-5e2c-4a6b-9acf-d059da54585c.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,d16785a9-5e2c-4a6b-9acf-d059da54585c.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d16785a9-5e2c-4a6b-9acf-d059da54585c</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ibrahim just <a href="http://blogs.msdn.com/powershell/archive/2009/03/26/tied-variables-in-powershell.aspx">posted
something to the PowerShell blog</a> about how to create tied variables in PowerShell.
If you extend this approach with script blocks, you have a very powerful dynamic scripting
technique.
</p>
        <blockquote>
          <p>
PS C:\temp&gt; cd \temp 
<br />
PS C:\temp&gt; New-ScriptVariable.ps1 GLOBAL:lee { $myTestVariable } { $GLOBAL:myTestVariable
= 2 * $args[0] } 
<br />
PS C:\temp&gt; $lee 
<br />
PS C:\temp&gt; $lee = 10 
<br />
PS C:\temp&gt; $lee 
<br />
20 
<br />
PS C:\temp&gt; New-ScriptVariable.ps1 GLOBAL:today { (Get-Date).DayOfWeek } 
<br />
PS C:\temp&gt; $today 
<br />
Wednesday 
<br />
PS C:\temp&gt; New-ScriptVariable.ps1 GLOBAL:random -Get { Get-Random } -Set { Get-Random
-SetSeed $args[0] } 
<br />
PS C:\temp&gt; $random 
<br />
1740776676 
<br />
PS C:\temp&gt; $random 
<br />
1507521897 
<br />
PS C:\temp&gt; $random = 10 
<br />
PS C:\temp&gt; $random 
<br />
1613858733 
<br />
PS C:\temp&gt; $random = 10 
<br />
PS C:\temp&gt; $random 
<br />
1613858733
</p>
        </blockquote>
        <p>
He alluded to it in the post – here is the full text of the script:
</p>
        <p>
          <em>(Edit 05/17: Updated to make the getters more like PowerShell pipelines: return
a single object, or collection of PSObject)</em>
        </p>
        <div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 650px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px">
          <table border="0" cellspacing="0" cellpadding="5">
            <tbody>
              <tr>
                <td valign="top">
                  <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px">001<br />
002<br />
003<br />
004<br />
005<br />
006<br />
007<br />
008<br />
009<br />
010<br />
011<br />
012<br />
013<br />
014<br />
015<br />
016<br />
017<br />
018<br />
019<br />
020<br />
021<br />
022<br />
023<br />
024<br />
025<br />
026<br />
027<br />
028<br />
029<br />
030<br />
031<br />
032<br />
033<br />
034<br />
035<br />
036<br />
037<br />
038<br />
039<br />
040<br />
041<br />
042<br />
043<br />
044<br />
045<br />
046<br />
047<br />
048<br />
049<br />
050<br />
051<br />
052<br />
053<br />
054<br />
055<br />
056<br />
057<br /></div>
                </td>
                <td valign="top" nowrap="nowrap">
                  <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px">
                    <span style="COLOR: #006400">##
New-ScriptVariable.ps1</span>
                    <br />
                    <span style="COLOR: #00008b">param</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #ff4500">$name</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #008080">[ScriptBlock]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$getter</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #008080">[ScriptBlock]</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$setter</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <br />
                    <span style="COLOR: #0000ff">Add-Type</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8b0000">@"<br />
using System;<br />
using System.Collections.ObjectModel;<br />
using System.Management.Automation;<br /><br />
namespace Lee.Holmes<br />
{<br />
    public class PSScriptVariable : PSVariable<br />
    {<br />
        public PSScriptVariable(string name,<br />
            ScriptBlock
scriptGetter, ScriptBlock scriptSetter)<br />
            : base(name,
null, ScopedItemOptions.AllScope)<br />
        {<br />
            getter = scriptGetter;<br />
            setter = scriptSetter;<br />
        }<br />
        private ScriptBlock getter;<br />
        private ScriptBlock setter;<br /><br />
        public override object Value<br />
        {<br />
            get<br />
            {<br />
                if(getter
!= null)<br />
                {<br />
                    Collection&lt;PSObject&gt;
results = getter.Invoke();<br />
                    if(results.Count
== 1)<br />
                    {<br />
                        return
results[0];<br />
                    }<br />
                    else<br />
                    {<br />
                        PSObject[]
returnResults = new PSObject[results.Count];<br />
                        results.CopyTo(returnResults,
0);<br />
                        return
returnResults;<br />
                    }<br />
                }<br />
                else
{ return null; }<br />
            }<br />
            set<br />
            {<br />
                if(setter
!= null) { setter.Invoke(value); }<br />
            }<br />
        }<br />
    }<br />
}<br />
"@</span>
                    <br />
                    <br />
                    <span style="COLOR: #00008b">if</span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">Test-Path</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">variable:\$name</span>
                    <span style="COLOR: #000000">)</span>
                    <br />
                    <span style="COLOR: #000000">{</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #0000ff">Remove-Item</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">variable:\$name</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #000080">-Force</span>
                    <br />
                    <span style="COLOR: #000000">}</span>
                    <br />
                    <span style="COLOR: #ff4500">$executioncontext</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">SessionState</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">PSVariable</span>
                    <span style="COLOR: #a9a9a9">.</span>
                    <span style="COLOR: #000000">Set</span>
                    <span style="COLOR: #000000">(</span>
                    <br />
                    <span style="COLOR: #000000">    </span>
                    <span style="COLOR: #000000">(</span>
                    <span style="COLOR: #0000ff">New-Object</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #8a2be2">Lee.Holmes.PSScriptVariable</span>
                    <span style="COLOR: #000000"> </span>
                    <span style="COLOR: #ff4500">$name</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #ff4500">$getter</span>
                    <span style="COLOR: #a9a9a9">,</span>
                    <span style="COLOR: #ff4500">$setter</span>
                    <span style="COLOR: #000000">)</span>
                    <span style="COLOR: #000000">)</span>
                  </div>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=d16785a9-5e2c-4a6b-9acf-d059da54585c" />
      </body>
      <title>More Tied Variables in PowerShell</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,d16785a9-5e2c-4a6b-9acf-d059da54585c.aspx</guid>
      <link>http://www.leeholmes.com/blog/MoreTiedVariablesInPowerShell.aspx</link>
      <pubDate>Thu, 26 Mar 2009 22:51:52 GMT</pubDate>
      <description>&lt;p&gt;
Ibrahim just &lt;a href="http://blogs.msdn.com/powershell/archive/2009/03/26/tied-variables-in-powershell.aspx"&gt;posted
something to the PowerShell blog&lt;/a&gt; about how to create tied variables in PowerShell.
If you extend this approach with script blocks, you have a very powerful dynamic scripting
technique.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
PS C:\temp&amp;gt; cd \temp 
&lt;br&gt;
PS C:\temp&amp;gt; New-ScriptVariable.ps1 GLOBAL:lee { $myTestVariable } { $GLOBAL:myTestVariable
= 2 * $args[0] } 
&lt;br&gt;
PS C:\temp&amp;gt; $lee 
&lt;br&gt;
PS C:\temp&amp;gt; $lee = 10 
&lt;br&gt;
PS C:\temp&amp;gt; $lee 
&lt;br&gt;
20 
&lt;br&gt;
PS C:\temp&amp;gt; New-ScriptVariable.ps1 GLOBAL:today { (Get-Date).DayOfWeek } 
&lt;br&gt;
PS C:\temp&amp;gt; $today 
&lt;br&gt;
Wednesday 
&lt;br&gt;
PS C:\temp&amp;gt; New-ScriptVariable.ps1 GLOBAL:random -Get { Get-Random } -Set { Get-Random
-SetSeed $args[0] } 
&lt;br&gt;
PS C:\temp&amp;gt; $random 
&lt;br&gt;
1740776676 
&lt;br&gt;
PS C:\temp&amp;gt; $random 
&lt;br&gt;
1507521897 
&lt;br&gt;
PS C:\temp&amp;gt; $random = 10 
&lt;br&gt;
PS C:\temp&amp;gt; $random 
&lt;br&gt;
1613858733 
&lt;br&gt;
PS C:\temp&amp;gt; $random = 10 
&lt;br&gt;
PS C:\temp&amp;gt; $random 
&lt;br&gt;
1613858733
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
He alluded to it in the post – here is the full text of the script:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;(Edit 05/17: Updated to make the getters more like PowerShell pipelines: return
a single object, or collection of PSObject)&lt;/em&gt;
&lt;/p&gt;
&lt;div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 650px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px"&gt;
&lt;table border=0 cellspacing=0 cellpadding=5&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;001&lt;br&gt;
002&lt;br&gt;
003&lt;br&gt;
004&lt;br&gt;
005&lt;br&gt;
006&lt;br&gt;
007&lt;br&gt;
008&lt;br&gt;
009&lt;br&gt;
010&lt;br&gt;
011&lt;br&gt;
012&lt;br&gt;
013&lt;br&gt;
014&lt;br&gt;
015&lt;br&gt;
016&lt;br&gt;
017&lt;br&gt;
018&lt;br&gt;
019&lt;br&gt;
020&lt;br&gt;
021&lt;br&gt;
022&lt;br&gt;
023&lt;br&gt;
024&lt;br&gt;
025&lt;br&gt;
026&lt;br&gt;
027&lt;br&gt;
028&lt;br&gt;
029&lt;br&gt;
030&lt;br&gt;
031&lt;br&gt;
032&lt;br&gt;
033&lt;br&gt;
034&lt;br&gt;
035&lt;br&gt;
036&lt;br&gt;
037&lt;br&gt;
038&lt;br&gt;
039&lt;br&gt;
040&lt;br&gt;
041&lt;br&gt;
042&lt;br&gt;
043&lt;br&gt;
044&lt;br&gt;
045&lt;br&gt;
046&lt;br&gt;
047&lt;br&gt;
048&lt;br&gt;
049&lt;br&gt;
050&lt;br&gt;
051&lt;br&gt;
052&lt;br&gt;
053&lt;br&gt;
054&lt;br&gt;
055&lt;br&gt;
056&lt;br&gt;
057&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td valign=top nowrap&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;&lt;span style="COLOR: #006400"&gt;##
New-ScriptVariable.ps1&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;param&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$name&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[ScriptBlock]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$getter&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[ScriptBlock]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$setter&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #0000ff"&gt;Add-Type&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;@"&lt;br&gt;
using System;&lt;br&gt;
using System.Collections.ObjectModel;&lt;br&gt;
using System.Management.Automation;&lt;br&gt;
&lt;br&gt;
namespace Lee.Holmes&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public class PSScriptVariable : PSVariable&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public PSScriptVariable(string name,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScriptBlock
scriptGetter, ScriptBlock scriptSetter)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: base(name,
null, ScopedItemOptions.AllScope)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getter = scriptGetter;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setter = scriptSetter;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private ScriptBlock getter;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private ScriptBlock setter;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public override object Value&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(getter
!= null)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Collection&amp;lt;PSObject&amp;gt;
results = getter.Invoke();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(results.Count
== 1)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return
results[0];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PSObject[]
returnResults = new PSObject[results.Count];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results.CopyTo(returnResults,
0);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return
returnResults;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
{ return null; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(setter
!= null) { setter.Invoke(value); }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
}&lt;br&gt;
"@&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Test-Path&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;variable:\$name&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Remove-Item&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;variable:\$name&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-Force&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$executioncontext&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;SessionState&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;PSVariable&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Set&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;New-Object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Lee.Holmes.PSScriptVariable&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$name&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$getter&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$setter&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=d16785a9-5e2c-4a6b-9acf-d059da54585c" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,d16785a9-5e2c-4a6b-9acf-d059da54585c.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=355fa7f1-46f8-4e91-ae96-c4b51fd07950</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,355fa7f1-46f8-4e91-ae96-c4b51fd07950.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,355fa7f1-46f8-4e91-ae96-c4b51fd07950.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=355fa7f1-46f8-4e91-ae96-c4b51fd07950</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We've started working on the next edition of the PowerShell Cookbook, and one obvious
goal is to improve on the first version.
</p>
        <p>
As the first version has been in print, I've taken notes on where people get confused
with certain recipes. I've taken notes on what I felt were content gaps, and taken
the feedback from reviews on Amazon.com and random blogs. Reviews on Amazon are GOLD
for authors. They help readers form educated opinions, and provide helpful feedback
about the book itself. If you want to thank the author of a book you like, write a
review on Amazon.
</p>
        <p>
The second edition of the PowerShell Cookbook continues in the same tradition as the
first. Topical, real-world solutions to everyday problems. Packed with an appendix
of <em>reference material that matters</em>. It will continue to be a <a href="http://www.leeholmes.com/blog/PowerShellCookbookVsPowerShellInAction.aspx">purposefully
distinct approach</a> from PowerShell in Action.
</p>
        <p>
With that, here's your chance to influence the next edition. What did you find too
basic? Too advanced? Missing altogether? Were there any recurring issues with the
approach or content?
</p>
        <p>
Another question we're pondering is the unique value that the printed edition brings
to the table. Much of the content in the PowerShell Cookbook was pre-published to
this blog, newsgroups, or other channels. Many of the topics it addresses can be found
through internet searches and forums. Many copies are floating around on Bit Torrent.
Given all of that, why did you still purchase the printed version?
</p>
        <p>
I know -- a lot of questions, very few answers! Let 'er rip.
</p>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=355fa7f1-46f8-4e91-ae96-c4b51fd07950" />
      </body>
      <title>Want to Influence the PowerShell Cookbook V2?</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,355fa7f1-46f8-4e91-ae96-c4b51fd07950.aspx</guid>
      <link>http://www.leeholmes.com/blog/WantToInfluenceThePowerShellCookbookV2.aspx</link>
      <pubDate>Thu, 12 Mar 2009 05:41:25 GMT</pubDate>
      <description>&lt;p&gt;
We've started working on the next edition of the PowerShell Cookbook, and one obvious
goal is to improve on the first version.
&lt;/p&gt;
&lt;p&gt;
As the first version has been in print, I've taken notes on where people get confused
with certain recipes. I've taken notes on what I felt were content gaps, and taken
the feedback from reviews on Amazon.com and random blogs. Reviews on Amazon are GOLD
for authors. They help readers form educated opinions, and provide helpful feedback
about the book itself. If you want to thank the author of a book you like, write a
review on Amazon.
&lt;/p&gt;
&lt;p&gt;
The second edition of the PowerShell Cookbook continues in the same tradition as the
first. Topical, real-world solutions to everyday problems. Packed with an appendix
of &lt;em&gt;reference material that matters&lt;/em&gt;. It will continue to be a &lt;a href="http://www.leeholmes.com/blog/PowerShellCookbookVsPowerShellInAction.aspx"&gt;purposefully
distinct approach&lt;/a&gt; from PowerShell in Action.
&lt;/p&gt;
&lt;p&gt;
With that, here's your chance to influence the next edition. What did you find too
basic? Too advanced? Missing altogether? Were there any recurring issues with the
approach or content?
&lt;/p&gt;
&lt;p&gt;
Another question we're pondering is the unique value that the printed edition brings
to the table. Much of the content in the PowerShell Cookbook was pre-published to
this blog, newsgroups, or other channels. Many of the topics it addresses can be found
through internet searches and forums. Many copies are floating around on Bit Torrent.
Given all of that, why did you still purchase the printed version?
&lt;/p&gt;
&lt;p&gt;
I know -- a lot of questions, very few answers! Let 'er rip.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=355fa7f1-46f8-4e91-ae96-c4b51fd07950" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,355fa7f1-46f8-4e91-ae96-c4b51fd07950.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=86142a49-dd7f-45f4-8ca6-959ddcd64c5c</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,86142a49-dd7f-45f4-8ca6-959ddcd64c5c.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,86142a49-dd7f-45f4-8ca6-959ddcd64c5c.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=86142a49-dd7f-45f4-8ca6-959ddcd64c5c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Once in awhile, you need to do brain surgery on files locked by the system. This is
a common problem run into by patches and hotfixes, so Windows has a special mechanism
that lets it move files before any process has the chance to get its grubby little
hands on it. This can only be done during a reboot, leading to the dire warning given
to you by many installers.
</p>
        <p>
The Win32 API that enables this is <a href="http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx">MoveFileEx</a>.
Calling this API with the MOVEFILE_DELAY_UNTIL_REBOOT flag tells Windows to move (or
delete) your file at the next boot.
</p>
        <p>
Here’s how to do it from PowerShell:
</p>
        <blockquote>
          <p class="MsoNormal">
            <span style="color: #1f497d">
              <p>
 
</p>
            </span>
          </p>
          <table style="mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0">
            <tbody>
              <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
                <td style="padding-bottom: 3.75pt; padding-left: 3.75pt; padding-right: 3.75pt; padding-top: 3.75pt" valign="top">
                  <p style="background: #cecece" class="MsoNormal">
                    <span style="font-family: consolas; font-size: 10pt">001 
<br />
002 
<br />
003 
<br />
004 
<br />
005 
<br />
006 
<br />
007 
<br />
008 
<br />
009 
<br />
010 
<br />
011 
<br />
012 
<br />
013 
<br />
014 
<br />
015 
<br />
016 
<br />
017 
<br />
018 
<br />
019 
<br />
020 
<br />
021 
<br />
022 
<br />
023 
<br />
024 
<p></p></span>
                  </p>
                </td>
                <td style="padding-bottom: 3.75pt; padding-left: 3.75pt; padding-right: 3.75pt; padding-top: 3.75pt" valign="top" nowrap="nowrap">
                  <p style="background: #fcfcfc" class="MsoNormal">
                    <span style="font-family: consolas; color: darkblue; font-size: 10pt">function</span>
                    <span style="font-family: consolas; color: black; font-size: 10pt"> </span>
                    <span style="font-family: consolas; color: blueviolet; font-size: 10pt">Move-LockedFile</span>
                    <span style="font-family: consolas; font-size: 10pt">
                      <br />
                      <span style="color: black">{</span>
                      <br />
                      <span style="color: black">    </span>
                      <span style="color: darkblue">param</span>
                      <span style="color: black">(</span>
                      <span style="color: orangered">$path</span>
                      <span style="color: darkgray">,</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$destination</span>
                      <span style="color: black">)</span>
                      <br />
                      <br />
                      <span style="color: black">    </span>
                      <span style="color: orangered">$path</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">=</span>
                      <span style="color: black"> (</span>
                      <span style="color: blue">Resolve-Path</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$path</span>
                      <span style="color: black">)</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">Path</span>
                      <br />
                      <span style="color: black">    </span>
                      <span style="color: orangered">$destination</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">=</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$executionContext</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">SessionState</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">Path</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">GetUnresolvedProviderPathFromPSPath(</span>
                      <span style="color: orangered">$destination</span>
                      <span style="color: black">)</span>
                      <br />
                      <br />
                      <span style="color: black">    </span>
                      <span style="color: orangered">$MOVEFILE_DELAY_UNTIL_REBOOT</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">=</span>
                      <span style="color: black"> </span>
                      <span style="color: purple">0x00000004</span>
                      <br />
                      <br />
                      <span style="color: black">    </span>
                      <span style="color: orangered">$memberDefinition</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">=</span>
                      <span style="color: black"> </span>
                      <span style="color: darkred">@' 
<br />
    [DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)] 
<br />
    public static extern bool MoveFileEx(string lpExistingFileName,
string lpNewFileName, 
<br />
       int dwFlags); 
<br />
'@</span>
                      <br />
                      <br />
                      <span style="color: black">    </span>
                      <span style="color: orangered">$type</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">=</span>
                      <span style="color: black"> </span>
                      <span style="color: blue">Add-Type</span>
                      <span style="color: black"> </span>
                      <span style="color: navy">-Name</span>
                      <span style="color: black"> </span>
                      <span style="color: blueviolet">MoveFileUtils</span>
                      <span style="color: black"> </span>
                      <span style="color: navy">-MemberDefinition</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$memberDefinition</span>
                      <span style="color: black"> </span>
                      <span style="color: navy">-PassThru</span>
                      <br />
                      <span style="color: black">    </span>
                      <span style="color: orangered">$type</span>
                      <span style="color: darkgray">::</span>
                      <span style="color: black">MoveFileEx(</span>
                      <span style="color: orangered">$path</span>
                      <span style="color: darkgray">,</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$destination</span>
                      <span style="color: darkgray">,</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$MOVEFILE_DELAY_UNTIL_REBOOT</span>
                      <span style="color: black">)</span>
                      <br />
                      <span style="color: black">}</span>
                      <br />
                      <br />
                      <span style="color: teal">[C:\Windows\system32\config\txr]</span>
                      <br />
                      <span style="color: blue">PS:181</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">&gt;</span>
                      <span style="color: black"> </span>
                      <span style="color: blueviolet">dir</span>
                      <span style="color: black"> </span>
                      <span style="color: navy">-force</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">|</span>
                      <span style="color: black"> </span>
                      <span style="color: blue">%</span>
                      <span style="color: black"> { </span>
                      <span style="color: blue">Move-LockedFile</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$_</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">Name
(</span>
                      <span style="color: blue">Join-Path</span>
                      <span style="color: black"> </span>
                      <span style="color: blueviolet">c:\temp\txr</span>
                      <span style="color: black"> (</span>
                      <span style="color: orangered">$_</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">Name </span>
                      <span style="color: darkgray">+</span>
                      <span style="color: black"> </span>
                      <span style="color: darkred">".Bak"</span>
                      <span style="color: black">))
}</span>
                      <br />
                      <br />
                      <span style="color: teal">[C:\Users\leeholm]</span>
                      <br />
                      <span style="color: blue">PS:182</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">&gt;</span>
                      <span style="color: black"> </span>
                      <span style="color: blueviolet">dir</span>
                      <span style="color: black"> </span>
                      <span style="color: navy">-Filter</span>
                      <span style="color: black"> </span>
                      <span style="color: darkred">"NTUser.DAT{*"</span>
                      <span style="color: black"> </span>
                      <span style="color: navy">-force</span>
                      <span style="color: black"> </span>
                      <span style="color: darkgray">|</span>
                      <span style="color: black"> </span>
                      <span style="color: blue">%</span>
                      <span style="color: black"> { </span>
                      <span style="color: blue">Move-LockedFile</span>
                      <span style="color: black"> </span>
                      <span style="color: orangered">$_</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">Name
(</span>
                      <span style="color: blue">Join-Path</span>
                      <span style="color: black"> </span>
                      <span style="color: blueviolet">c:\temp\txr</span>
                      <span style="color: black"> (</span>
                      <span style="color: orangered">$_</span>
                      <span style="color: darkgray">.</span>
                      <span style="color: black">Name </span>
                      <span style="color: darkgray">+</span>
                      <span style="color: black"> </span>
                      <span style="color: darkred">".Bak"</span>
                      <span style="color: black">))
}</span>
                      <p>
                      </p>
                    </span>
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </blockquote>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=86142a49-dd7f-45f4-8ca6-959ddcd64c5c" />
      </body>
      <title>Moving and Deleting Really Locked Files in PowerShell</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,86142a49-dd7f-45f4-8ca6-959ddcd64c5c.aspx</guid>
      <link>http://www.leeholmes.com/blog/MovingAndDeletingReallyLockedFilesInPowerShell.aspx</link>
      <pubDate>Tue, 17 Feb 2009 23:55:19 GMT</pubDate>
      <description>&lt;p&gt;
Once in awhile, you need to do brain surgery on files locked by the system. This is
a common problem run into by patches and hotfixes, so Windows has a special mechanism
that lets it move files before any process has the chance to get its grubby little
hands on it. This can only be done during a reboot, leading to the dire warning given
to you by many installers.
&lt;/p&gt;
&lt;p&gt;
The Win32 API that enables this is &lt;a href="http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx"&gt;MoveFileEx&lt;/a&gt;.
Calling this API with the MOVEFILE_DELAY_UNTIL_REBOOT flag tells Windows to move (or
delete) your file at the next boot.
&lt;/p&gt;
&lt;p&gt;
Here’s how to do it from PowerShell:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p class="MsoNormal"&gt;
&lt;span style="color: #1f497d"&gt; 
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;table style="mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;
&lt;td style="padding-bottom: 3.75pt; padding-left: 3.75pt; padding-right: 3.75pt; padding-top: 3.75pt" valign="top"&gt;
&lt;p style="background: #cecece" class="MsoNormal"&gt;
&lt;span style="font-family: consolas; font-size: 10pt"&gt;001 
&lt;br /&gt;
002 
&lt;br /&gt;
003 
&lt;br /&gt;
004 
&lt;br /&gt;
005 
&lt;br /&gt;
006 
&lt;br /&gt;
007 
&lt;br /&gt;
008 
&lt;br /&gt;
009 
&lt;br /&gt;
010 
&lt;br /&gt;
011 
&lt;br /&gt;
012 
&lt;br /&gt;
013 
&lt;br /&gt;
014 
&lt;br /&gt;
015 
&lt;br /&gt;
016 
&lt;br /&gt;
017 
&lt;br /&gt;
018 
&lt;br /&gt;
019 
&lt;br /&gt;
020 
&lt;br /&gt;
021 
&lt;br /&gt;
022 
&lt;br /&gt;
023 
&lt;br /&gt;
024 
&lt;p&gt;
&lt;/p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-bottom: 3.75pt; padding-left: 3.75pt; padding-right: 3.75pt; padding-top: 3.75pt" valign="top" nowrap="nowrap"&gt;
&lt;p style="background: #fcfcfc" class="MsoNormal"&gt;
&lt;span style="font-family: consolas; color: darkblue; font-size: 10pt"&gt;function&lt;/span&gt;&lt;span style="font-family: consolas; color: black; font-size: 10pt"&gt;&amp;#160;&lt;/span&gt;&lt;span style="font-family: consolas; color: blueviolet; font-size: 10pt"&gt;Move-LockedFile&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 10pt"&gt; 
&lt;br /&gt;
&lt;span style="color: black"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: black"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: darkblue"&gt;param&lt;/span&gt;&lt;span style="color: black"&gt;(&lt;/span&gt;&lt;span style="color: orangered"&gt;$path&lt;/span&gt;&lt;span style="color: darkgray"&gt;,&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$destination&lt;/span&gt;&lt;span style="color: black"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: orangered"&gt;$path&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;=&lt;/span&gt;&lt;span style="color: black"&gt; (&lt;/span&gt;&lt;span style="color: blue"&gt;Resolve-Path&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$path&lt;/span&gt;&lt;span style="color: black"&gt;)&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;Path&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: black"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: orangered"&gt;$destination&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;=&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$executionContext&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;SessionState&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;Path&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;GetUnresolvedProviderPathFromPSPath(&lt;/span&gt;&lt;span style="color: orangered"&gt;$destination&lt;/span&gt;&lt;span style="color: black"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: orangered"&gt;$MOVEFILE_DELAY_UNTIL_REBOOT&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;=&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: purple"&gt;0x00000004&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: orangered"&gt;$memberDefinition&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;=&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkred"&gt;@' 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; [DllImport(&amp;quot;kernel32.dll&amp;quot;, SetLastError=true, CharSet=CharSet.Auto)] 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; public static extern bool MoveFileEx(string lpExistingFileName,
string lpNewFileName, 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int dwFlags); 
&lt;br /&gt;
'@&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: orangered"&gt;$type&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;=&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blue"&gt;Add-Type&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: navy"&gt;-Name&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blueviolet"&gt;MoveFileUtils&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: navy"&gt;-MemberDefinition&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$memberDefinition&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: navy"&gt;-PassThru&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: black"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: orangered"&gt;$type&lt;/span&gt;&lt;span style="color: darkgray"&gt;::&lt;/span&gt;&lt;span style="color: black"&gt;MoveFileEx(&lt;/span&gt;&lt;span style="color: orangered"&gt;$path&lt;/span&gt;&lt;span style="color: darkgray"&gt;,&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$destination&lt;/span&gt;&lt;span style="color: darkgray"&gt;,&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$MOVEFILE_DELAY_UNTIL_REBOOT&lt;/span&gt;&lt;span style="color: black"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: black"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: teal"&gt;[C:\Windows\system32\config\txr]&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: blue"&gt;PS:181&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blueviolet"&gt;dir&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: navy"&gt;-force&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;|&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blue"&gt;%&lt;/span&gt;&lt;span style="color: black"&gt; { &lt;/span&gt;&lt;span style="color: blue"&gt;Move-LockedFile&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;Name
(&lt;/span&gt;&lt;span style="color: blue"&gt;Join-Path&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blueviolet"&gt;c:\temp\txr&lt;/span&gt;&lt;span style="color: black"&gt; (&lt;/span&gt;&lt;span style="color: orangered"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;Name &lt;/span&gt;&lt;span style="color: darkgray"&gt;+&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkred"&gt;&amp;quot;.Bak&amp;quot;&lt;/span&gt;&lt;span style="color: black"&gt;))
}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: teal"&gt;[C:\Users\leeholm]&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: blue"&gt;PS:182&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blueviolet"&gt;dir&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: navy"&gt;-Filter&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkred"&gt;&amp;quot;NTUser.DAT{*&amp;quot;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: navy"&gt;-force&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkgray"&gt;|&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blue"&gt;%&lt;/span&gt;&lt;span style="color: black"&gt; { &lt;/span&gt;&lt;span style="color: blue"&gt;Move-LockedFile&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: orangered"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;Name
(&lt;/span&gt;&lt;span style="color: blue"&gt;Join-Path&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: blueviolet"&gt;c:\temp\txr&lt;/span&gt;&lt;span style="color: black"&gt; (&lt;/span&gt;&lt;span style="color: orangered"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray"&gt;.&lt;/span&gt;&lt;span style="color: black"&gt;Name &lt;/span&gt;&lt;span style="color: darkgray"&gt;+&lt;/span&gt;&lt;span style="color: black"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: darkred"&gt;&amp;quot;.Bak&amp;quot;&lt;/span&gt;&lt;span style="color: black"&gt;))
}&lt;/span&gt; 
&lt;p&gt;
&lt;/p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=86142a49-dd7f-45f4-8ca6-959ddcd64c5c" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,86142a49-dd7f-45f4-8ca6-959ddcd64c5c.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=ff3010f6-1e7d-4dea-b9c5-380555102bde</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,ff3010f6-1e7d-4dea-b9c5-380555102bde.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,ff3010f6-1e7d-4dea-b9c5-380555102bde.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ff3010f6-1e7d-4dea-b9c5-380555102bde</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've long wondered exactly how few coins you need in your pocket in order to perfectly
round out any bill. I usually grab a handful and hope it works out. Even that mathematically
astute technique sometimes leaves me a nickel or few pennies short, though, so I settle
for making change that gets me a quarter back instead of yet <u>another</u> handful
of ore.
</p>
        <p>
Even this settle-for-second-best option isn't that great. It can cause permanent damage
to unsuspecting cashiers that aren't so good at math. Wondering why you would ever
give them $1.13 for a $0.88 bill, they'll often just give you your change back AND
then the stack of coins they were originally planning to load you up with.
</p>
        <p>
Well, no longer.
</p>
        <p>
It turns out that you need exactly 10 coins in your pocket: 3 quarters, 2 dimes, 1
nickel, and 4 pennies. With these in your arsenal, you can make perfect change for
any bill.
</p>
        <p>
How can you be sure? Brute force is your friend, as is PowerShell, of course.
</p>
        <blockquote>
          <div style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; FONT-SIZE: 10pt; PADDING-BOTTOM: 5px; OVERFLOW: auto; BORDER-LEFT: black 1px solid; WIDTH: 650px; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: consolas,lucida console">
            <table cellspacing="0" cellpadding="5" border="0">
              <tbody>
                <tr>
                  <td valign="top">
                    <div style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 10pt; BACKGROUND: #cecece; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; FONT-FAMILY: consolas,lucida console">001 
<br />
002 
<br />
003 
<br />
004 
<br />
005 
<br />
006 
<br />
007 
<br />
008 
<br />
009 
<br />
010 
<br />
011 
<br />
012 
<br />
013 
<br />
014 
<br />
015 
<br />
016 
<br />
017 
<br />
018 
<br />
019 
<br />
020 
<br />
021 
<br />
022 
<br />
023 
<br />
024 
<br />
025 
<br />
026 
<br />
027 
<br /></div>
                  </td>
                  <td valign="top" nowrap="nowrap">
                    <div style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 10pt; BACKGROUND: #fcfcfc; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; FONT-FAMILY: consolas,lucida console">
                      <span style="COLOR: #ff4500">$coins</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">@{</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0.25</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #000000">;</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0.10</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #000000">;</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0.05</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #000000">;</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0.01</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #00008b">function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">SelectCoins</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #008080">[Decimal]</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$change</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$result</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$coins</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Clone</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">foreach</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$denomination</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #00008b">in</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$coins</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Keys</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">|</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">Sort</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000080">-Desc</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">while</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$change</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-ge</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$denomination</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #ff4500">$change</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$denomination</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #ff4500">$result</span>
                      <span style="COLOR: #a9a9a9">[</span>
                      <span style="COLOR: #ff4500">$denomination</span>
                      <span style="COLOR: #a9a9a9">]</span>
                      <span style="COLOR: #a9a9a9">++</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$result</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #ff4500">$results</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">1</span>
                      <span style="COLOR: #a9a9a9">..</span>
                      <span style="COLOR: #800080">99</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">|</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">%</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">{</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">SelectCoins</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$_</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">/</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">100</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #00008b">foreach</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$denomination</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #00008b">in</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$coins</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Keys</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">|</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">Sort</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000080">-Desc</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #8b0000">"{0:c}:
"</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-f</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$denomination</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">+</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$results</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">|</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">%</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">{</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$_</span>
                      <span style="COLOR: #a9a9a9">[</span>
                      <span style="COLOR: #ff4500">$denomination</span>
                      <span style="COLOR: #a9a9a9">]</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">}</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">|</span>
                      <span style="COLOR: #000000"> </span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #0000ff">Measure-Object</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000080">-Max</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Maximum</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                    </div>
                  </td>
                </tr>
              </tbody>
            </table>
          </div>
        </blockquote>
        <p>
 
</p>
        <p>
Gives:
</p>
        <blockquote>
          <p>
            <font face="Courier New">$0.25: 3 
<br />
$0.10: 2 
<br />
$0.05: 1 
<br />
$0.01: 4</font>
          </p>
        </blockquote>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=ff3010f6-1e7d-4dea-b9c5-380555102bde" />
      </body>
      <title>Making Perfect Change with the Fewest Coins</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,ff3010f6-1e7d-4dea-b9c5-380555102bde.aspx</guid>
      <link>http://www.leeholmes.com/blog/MakingPerfectChangeWithTheFewestCoins.aspx</link>
      <pubDate>Tue, 10 Feb 2009 05:16:40 GMT</pubDate>
      <description>&lt;p&gt;
I've long wondered exactly how few coins you need in your pocket in order to perfectly
round out any bill. I usually grab a handful and hope it works out. Even that mathematically
astute technique sometimes leaves me a nickel or few pennies short, though, so I settle
for making change that gets me a quarter back instead of yet &lt;u&gt;another&lt;/u&gt; handful
of ore.
&lt;/p&gt;
&lt;p&gt;
Even this settle-for-second-best option isn't that great. It can cause permanent damage
to unsuspecting cashiers that aren't so good at math. Wondering why you would ever
give them $1.13 for a $0.88 bill, they'll often just give you your change back AND
then the stack of coins they were originally planning to load you up with.
&lt;/p&gt;
&lt;p&gt;
Well, no longer.
&lt;/p&gt;
&lt;p&gt;
It turns out that you need exactly 10 coins in your pocket: 3 quarters, 2 dimes, 1
nickel, and 4 pennies. With these in your arsenal, you can make perfect change for
any bill.
&lt;/p&gt;
&lt;p&gt;
How can you be sure? Brute force is your friend, as is PowerShell, of course.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;div style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; FONT-SIZE: 10pt; PADDING-BOTTOM: 5px; OVERFLOW: auto; BORDER-LEFT: black 1px solid; WIDTH: 650px; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: consolas,lucida console"&gt;
&lt;table cellspacing=0 cellpadding=5 border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;div style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 10pt; BACKGROUND: #cecece; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; FONT-FAMILY: consolas,lucida console"&gt;001 
&lt;br&gt;
002 
&lt;br&gt;
003 
&lt;br&gt;
004 
&lt;br&gt;
005 
&lt;br&gt;
006 
&lt;br&gt;
007 
&lt;br&gt;
008 
&lt;br&gt;
009 
&lt;br&gt;
010 
&lt;br&gt;
011 
&lt;br&gt;
012 
&lt;br&gt;
013 
&lt;br&gt;
014 
&lt;br&gt;
015 
&lt;br&gt;
016 
&lt;br&gt;
017 
&lt;br&gt;
018 
&lt;br&gt;
019 
&lt;br&gt;
020 
&lt;br&gt;
021 
&lt;br&gt;
022 
&lt;br&gt;
023 
&lt;br&gt;
024 
&lt;br&gt;
025 
&lt;br&gt;
026 
&lt;br&gt;
027 
&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td valign=top nowrap&gt;
&lt;div style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 10pt; BACKGROUND: #fcfcfc; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; FONT-FAMILY: consolas,lucida console"&gt;&lt;span style="COLOR: #ff4500"&gt;$coins&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;@{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0.25&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0.10&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0.05&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0.01&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;SelectCoins&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[Decimal]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$change&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$result&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$coins&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Clone&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$denomination&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$coins&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Keys&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Sort&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-Desc&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;while&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$change&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-ge&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$denomination&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$change&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$denomination&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$result&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$denomination&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;++&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$result&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$results&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;1&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;..&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;99&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;%&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;SelectCoins&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;/&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;100&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$denomination&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$coins&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Keys&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Sort&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-Desc&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"{0:c}:
"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$denomination&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$results&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;%&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$denomination&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Measure-Object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-Max&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Maximum&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Gives:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;font face="Courier New"&gt;$0.25: 3 
&lt;br&gt;
$0.10: 2 
&lt;br&gt;
$0.05: 1 
&lt;br&gt;
$0.01: 4&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=ff3010f6-1e7d-4dea-b9c5-380555102bde" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,ff3010f6-1e7d-4dea-b9c5-380555102bde.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=a45de007-8135-494e-832a-a511a9a6dc5e</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,a45de007-8135-494e-832a-a511a9a6dc5e.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,a45de007-8135-494e-832a-a511a9a6dc5e.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a45de007-8135-494e-832a-a511a9a6dc5e</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.msdn.com/powershell/archive/2009/01/13/how-to-copy-colorized-script-from-powershell-ise.aspx">Vladimir
Averkin</a> recently wrote a series of posts that show how to export code with syntax
highlighting into HTML and RTF formats. It works great in Outlook, but was causing
Windows Live Writer to crash. The reason is that the HTML stream of the clipboard <a href="http://blogs.msdn.com/jmstall/archive/2007/01/21/html-clipboard.aspx">isn’t
just a blob of HTML</a> – it’s supposed to be placed into the clipboard as <a href="http://msdn.microsoft.com/en-us/library/aa767917(VS.85).aspx">CF_HTML</a>.
Investigation of that issue gave enough information to exactly pinpoint the crash
in Live Writer, which they were quick to resolve once we pointed out. So it was a
positive thing after all :)
</p>
        <p>
While fixing the script, I took the opportunity to make the HTML prettier, work from
both the ISE and the command-line, and fix a few bugs. I’ve posted it here: <a title="http://www.leeholmes.com/projects/scripts/Set-ClipboardScript.ps1.txt" href="http://www.leeholmes.com/projects/scripts/Set-ClipboardScript.ps1.txt">http://www.leeholmes.com/projects/scripts/Set-ClipboardScript.ps1.txt</a>,
as well as below.
</p>
        <p>
 
</p>
        <div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 5px; padding-left: 5px; width: 750px; padding-right: 5px; font-family: consolas,lucida console; font-size: 10pt; overflow: auto; border-top: black 1px solid; border-right: black 1px solid; padding-top: 5px">
          <table border="0" cellspacing="0" cellpadding="5">
            <tbody>
              <tr>
                <td valign="top">
                  <div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #cecece; font-size: 10pt; padding-top: 5px">001 
<br />
002 
<br />
003 
<br />
004 
<br />
005 
<br />
006 
<br />
007 
<br />
008 
<br />
009 
<br />
010 
<br />
011 
<br />
012 
<br />
013 
<br />
014 
<br />
015 
<br />
016 
<br />
017 
<br />
018 
<br />
019 
<br />
020 
<br />
021 
<br />
022 
<br />
023 
<br />
024 
<br />
025 
<br />
026 
<br />
027 
<br />
028 
<br />
029 
<br />
030 
<br />
031 
<br />
032 
<br />
033 
<br />
034 
<br />
035 
<br />
036 
<br />
037 
<br />
038 
<br />
039 
<br />
040 
<br />
041 
<br />
042 
<br />
043 
<br />
044 
<br />
045 
<br />
046 
<br />
047 
<br />
048 
<br />
049 
<br />
050 
<br />
051 
<br />
052 
<br />
053 
<br />
054 
<br />
055 
<br />
056 
<br />
057 
<br />
058 
<br />
059 
<br />
060 
<br />
061 
<br />
062 
<br />
063 
<br />
064 
<br />
065 
<br />
066 
<br />
067 
<br />
068 
<br />
069 
<br />
070 
<br />
071 
<br />
072 
<br />
073 
<br />
074 
<br />
075 
<br />
076 
<br />
077 
<br />
078 
<br />
079 
<br />
080 
<br />
081 
<br />
082 
<br />
083 
<br />
084 
<br />
085 
<br />
086 
<br />
087 
<br />
088 
<br />
089 
<br />
090 
<br />
091 
<br />
092 
<br />
093 
<br />
094 
<br />
095 
<br />
096 
<br />
097 
<br />
098 
<br />
099 
<br />
100 
<br />
101 
<br />
102 
<br />
103 
<br />
104 
<br />
105 
<br />
106 
<br />
107 
<br />
108 
<br />
109 
<br />
110 
<br />
111 
<br />
112 
<br />
113 
<br />
114 
<br />
115 
<br />
116 
<br />
117 
<br />
118 
<br />
119 
<br />
120 
<br />
121 
<br />
122 
<br />
123 
<br />
124 
<br />
125 
<br />
126 
<br />
127 
<br />
128 
<br />
129 
<br />
130 
<br />
131 
<br />
132 
<br />
133 
<br />
134 
<br />
135 
<br />
136 
<br />
137 
<br />
138 
<br />
139 
<br />
140 
<br />
141 
<br />
142 
<br />
143 
<br />
144 
<br />
145 
<br />
146 
<br />
147 
<br />
148 
<br />
149 
<br />
150 
<br />
151 
<br />
152 
<br />
153 
<br />
154 
<br />
155 
<br />
156 
<br />
157 
<br />
158 
<br />
159 
<br />
160 
<br />
161 
<br />
162 
<br />
163 
<br />
164 
<br />
165 
<br />
166 
<br />
167 
<br />
168 
<br />
169 
<br />
170 
<br />
171 
<br />
172 
<br />
173 
<br />
174 
<br />
175 
<br />
176 
<br />
177 
<br />
178 
<br />
179 
<br />
180 
<br />
181 
<br />
182 
<br />
183 
<br />
184 
<br />
185 
<br />
186 
<br />
187 
<br />
188 
<br />
189 
<br />
190 
<br />
191 
<br />
192 
<br />
193 
<br />
194 
<br />
195 
<br />
196 
<br />
197 
<br />
198 
<br />
199 
<br />
200 
<br />
201 
<br />
202 
<br />
203 
<br />
204 
<br />
205 
<br />
206 
<br />
207 
<br />
208 
<br />
209 
<br />
210 
<br />
211 
<br />
212 
<br />
213 
<br />
214 
<br />
215 
<br />
216 
<br />
217 
<br />
218 
<br />
219 
<br />
220 
<br />
221 
<br />
222 
<br />
223 
<br />
224 
<br />
225 
<br />
226 
<br />
227 
<br />
228 
<br />
229 
<br />
230 
<br />
231 
<br />
232 
<br />
233 
<br />
234 
<br />
235 
<br />
236 
<br />
237 
<br />
238 
<br />
239 
<br />
240 
<br />
241 
<br />
242 
<br />
243 
<br />
244 
<br />
245 
<br />
246 
<br />
247 
<br />
248 
<br />
249 
<br />
250 
<br />
251 
<br />
252 
<br />
253 
<br />
254 
<br />
255 
<br />
256 
<br />
257 
<br />
258 
<br />
259 
<br />
260 
<br />
261 
<br />
262 
<br />
263 
<br />
264 
<br />
265 
<br />
266 
<br />
267 
<br />
268 
<br />
269 
<br />
270 
<br />
271 
<br />
272 
<br />
273 
<br />
274 
<br />
275 
<br />
276 
<br />
277 
<br />
278 
<br />
279 
<br />
280 
<br />
281 
<br />
282 
<br />
283 
<br />
284 
<br />
285 
<br />
286 
<br />
287 
<br />
288 
<br />
289 
<br />
290 
<br />
291 
<br />
292 
<br />
293 
<br />
294 
<br />
295 
<br />
296 
<br />
297 
<br />
298 
<br />
299 
<br />
300 
<br />
301 
<br />
302 
<br />
303 
<br />
304 
<br /></div>
                </td>
                <td valign="top" nowrap="nowrap">
                  <div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #fcfcfc; font-size: 10pt; padding-top: 5px">
                    <span style="color: #006400">################################################################################</span>
                    <br />
                    <span style="color: #006400"># Set-ClipboardScript.ps1</span>
                    <br />
                    <span style="color: #006400">#</span>
                    <br />
                    <span style="color: #006400"># The script entire contents of the currently selected
editor window to system</span>
                    <br />
                    <span style="color: #006400"># clipboard. The copied data can be pasted into any application
that supports</span>
                    <br />
                    <span style="color: #006400"># pasting in UnicodeText, RTF or HTML format. Text pasted
in RTF or HTML</span>
                    <br />
                    <span style="color: #006400"># format will be colorized.</span>
                    <br />
                    <span style="color: #006400">#</span>
                    <br />
                    <span style="color: #006400"># See also:</span>
                    <br />
                    <span style="color: #006400"># http://blogs.msdn.com/powershell/archive/2009/01/13/</span>
                    <br />
                    <span style="color: #006400"># how-to-copy-colorized-script-from-powershell-ise.aspx</span>
                    <br />
                    <span style="color: #006400"># http://www.leeholmes.com/blog/SyntaxHighlightingInPowerShell.aspx</span>
                    <br />
                    <span style="color: #006400"># http://www.leeholmes.com/blog/RealtimeSyntaxHighlightingInYourPowerShellConsole.aspx</span>
                    <br />
                    <span style="color: #006400">#</span>
                    <br />
                    <span style="color: #006400">################################################################################</span>
                    <br />
                    <br />
                    <span style="color: #a9a9a9">[</span>
                    <span style="color: #add8e6">CmdletBinding</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #a9a9a9">]</span>
                    <br />
                    <span style="color: #00008b">param</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$path</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <br />
                    <span style="color: #00008b">function</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">Get-ScriptName</span>
                    <br />
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$myInvocation</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">ScriptName</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$path</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-and</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #008080">[Threading.Thread]</span>
                    <span style="color: #a9a9a9">::</span>
                    <span style="color: #000000">CurrentThread</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">ApartmentState</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-ne</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"STA"</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #0000ff">PowerShell</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000080">-NoProfile</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000080">-STA</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000080">-File</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #0000ff">Get-ScriptName</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$path</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #00008b">return</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #ff4500">$tokenColours</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">@{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Attribute'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FFADD8E6'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Command'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF0000FF'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'CommandArgument'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF8A2BE2'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'CommandParameter'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000080'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Comment'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF006400'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'GroupEnd'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'GroupStart'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Keyword'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF00008B'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'LineContinuation'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'LoopLabel'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF00008B'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Member'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'NewLine'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Number'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF800080'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Operator'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FFA9A9A9'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Position'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'StatementSeparator'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'String'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF8B0000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Type'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF008080'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Unknown'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FF000000'</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #8b0000">'Variable'</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#FFFF4500'</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$psise</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$tokenColours</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$psise</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Options</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">TokenColors</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #0000ff">Add-Type</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000080">-Assembly</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">System.Web</span>
                    <br />
                    <span style="color: #0000ff">Add-Type</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000080">-Assembly</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">PresentationCore</span>
                    <br />
                    <br />
                    <span style="color: #006400"># Create RTF block from text using named console colors.</span>
                    <br />
                    <span style="color: #00008b">function</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">Append-RtfBlock</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$colorIndex</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfColorMap</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'\'</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #8b0000">'\\'</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"`r`n"</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #8b0000">"\cf1\par`r`n"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"`t"</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #8b0000">'\tab'</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'{'</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #8b0000">'\{'</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'}'</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #8b0000">'\}'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"\cf$colorIndex
$block"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #006400"># Generate an HTML span and append it to HTML string
builder</span>
                    <br />
                    <span style="color: #ff4500">$currentLine</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #800080">1</span>
                    <br />
                    <span style="color: #00008b">function</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">Append-HtmlSpan</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-eq</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'NewLine'</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-or</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-eq</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'LineContinuation'</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-eq</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'LineContinuation'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$codeBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'`'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$codeBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"&lt;br
/&gt;`r`n"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$lineBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"{0:000}&lt;BR
/&gt;"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$currentLine</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$SCRIPT:currentLine</span>
                    <span style="color: #a9a9a9">++</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #00008b">else</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #008080">[System.Web.HttpUtility]</span>
                    <span style="color: #a9a9a9">::</span>
                    <span style="color: #000000">HtmlEncode</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #a9a9a9">-not</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Trim</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'
'</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'&amp;nbsp;'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$htmlColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColours</span>
                    <span style="color: #a9a9a9">[</span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #a9a9a9">]</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">ToString</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'#FF'</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'#'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-eq</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'String'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$lines</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-split</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"`r`n"</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">""</span>
                    <br />
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$multipleLines</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$false</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #00008b">foreach</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$line</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #00008b">in</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$lines</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">                </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$multipleLines</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">                </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">                    </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"&lt;BR
/&gt;`r`n"</span>
                    <br />
                    <span style="color: #000000">                    </span>
                    <br />
                    <span style="color: #000000">                    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$lineBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"{0:000}&lt;BR
/&gt;"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$currentLine</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">                    </span>
                    <span style="color: #ff4500">$SCRIPT:currentLine</span>
                    <span style="color: #a9a9a9">++</span>
                    <br />
                    <span style="color: #000000">                </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #000000">                </span>
                    <span style="color: #ff4500">$newText</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$line</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">TrimStart</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">                </span>
                    <span style="color: #ff4500">$newText</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"&amp;nbsp;"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">*</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$line</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$newText</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <span style="color: #000000"> </span>
                    <br />
                    <span style="color: #000000">                    </span>
                    <span style="color: #ff4500">$newText</span>
                    <br />
                    <span style="color: #000000">                </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$newText</span>
                    <br />
                    <span style="color: #000000">                </span>
                    <span style="color: #ff4500">$multipleLines</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$true</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$codeBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #8b0000">"&lt;span
style='color:$htmlColor'&gt;$block&lt;/span&gt;"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #00008b">function</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">GetHtmlClipboardFormat</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$html</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">@" 
<br />
Version:1.0 
<br />
StartHTML:0000000000 
<br />
EndHTML:0000000000 
<br />
StartFragment:0000000000 
<br />
EndFragment:0000000000 
<br />
StartSelection:0000000000 
<br />
EndSelection:0000000000 
<br />
SourceURL:file:///about:blank 
<br />
&lt;!DOCTYPE HTML PUBLIC `"-//W3C//DTD HTML 4.0 Transitional//EN`"&gt; 
<br />
&lt;HTML&gt; 
<br />
&lt;HEAD&gt; 
<br />
&lt;TITLE&gt;HTML Clipboard&lt;/TITLE&gt; 
<br />
&lt;/HEAD&gt; 
<br />
&lt;BODY&gt; 
<br />
&lt;!--StartFragment--&gt; 
<br />
&lt;DIV style='font-family:Consolas,Lucida Console; font-size:10pt; 
<br />
    width:750; border:1px solid black; overflow:auto; padding:5px'&gt; 
<br />
&lt;TABLE BORDER='0' cellpadding='5' cellspacing='0'&gt; 
<br />
&lt;TBODY&gt; 
<br />
&lt;TR&gt; 
<br />
    &lt;TD VALIGN='Top'&gt; 
<br />
&lt;DIV style='font-family:Consolas,Lucida Console; font-size:10pt; 
<br />
    padding:5px; background:#cecece'&gt; 
<br />
__LINES__ 
<br />
&lt;/DIV&gt; 
<br />
    &lt;/TD&gt; 
<br />
    &lt;TD VALIGN='Top' NOWRAP='NOWRAP'&gt; 
<br />
&lt;DIV style='font-family:Consolas,Lucida Console; font-size:10pt; 
<br />
    padding:5px; background:#fcfcfc'&gt; 
<br />
__HTML__ 
<br />
&lt;/DIV&gt; 
<br />
    &lt;/TD&gt; 
<br />
&lt;/TR&gt; 
<br />
&lt;/TBODY&gt; 
<br />
&lt;/TABLE&gt; 
<br />
&lt;/DIV&gt; 
<br />
&lt;!--EndFragment--&gt; 
<br />
&lt;/BODY&gt; 
<br />
&lt;/HTML&gt; 
<br />
"@</span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"__LINES__"</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$lineBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">ToString</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$startFragment</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">IndexOf</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"&lt;!--StartFragment--&gt;"</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #8b0000">"&lt;!--StartFragment--&gt;"</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #800080">2</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$endFragment</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">IndexOf</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"&lt;!--EndFragment--&gt;"</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$html</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"__HTML__"</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$startHtml</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">IndexOf</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"&lt;!DOCTYPE"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$endHtml</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$html</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"__HTML__"</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-replace</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"StartHTML:0000000000"</span>
                    <span style="color: #a9a9a9">,</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"StartHTML:{0:0000000000}"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$startHtml</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-replace</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"EndHTML:0000000000"</span>
                    <span style="color: #a9a9a9">,</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"EndHTML:{0:0000000000}"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$endHtml</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-replace</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"StartFragment:0000000000"</span>
                    <span style="color: #a9a9a9">,</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"StartFragment:{0:0000000000}"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$startFragment</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-replace</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"EndFragment:0000000000"</span>
                    <span style="color: #a9a9a9">,</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"EndFragment:{0:0000000000}"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$endFragment</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-replace</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"StartSelection:0000000000"</span>
                    <span style="color: #a9a9a9">,</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"StartSelection:{0:0000000000}"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$startFragment</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-replace</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"EndSelection:0000000000"</span>
                    <span style="color: #a9a9a9">,</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"EndSelection:{0:0000000000}"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$endFragment</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Replace</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"__HTML__"</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$html</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #0000ff">Write-Verbose</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$header</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #00008b">function</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">Main</span>
                    <br />
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$text</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$null</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$path</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$text</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #0000ff">Get-Content</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$path</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-join</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"`r`n"</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #00008b">else</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #a9a9a9">-not</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$psise</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">CurrentOpenedFile</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #0000ff">Write-Error</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'No
script is available for copying.'</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #00008b">return</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$text</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$psise</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">CurrentOpenedFile</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Editor</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Text</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #00008b">trap</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">{</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #00008b">break</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Do syntax parsing.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$errors</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$null</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$tokens</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #008080">[system.management.automation.psparser]</span>
                    <span style="color: #a9a9a9">::</span>
                    <span style="color: #000000">Tokenize</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$Text</span>
                    <span style="color: #a9a9a9">,</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #008080">[ref]</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$errors</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Initialize HTML builder.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$codeBuilder</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #0000ff">new-object</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">system.text.stringbuilder</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$lineBuilder</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #0000ff">new-object</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">system.text.stringbuilder</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$lineBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"{0:000}&lt;BR
/&gt;"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-f</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$currentLine</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$SCRIPT:currentLine</span>
                    <span style="color: #a9a9a9">++</span>
                    <br />
                    <span style="color: #000000">   </span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Initialize RTF builder.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #0000ff">new-object</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">system.text.stringbuilder</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Append RTF header</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033{\fonttbl"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #8b0000">"{\f0\fnil\fcharset0
$fontName;}}"</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$header</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"`r`n"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Append RTF color table which will contain all Powershell console colors.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"{\colortbl
;"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Generate RTF color definitions for each token type.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$rtfColorIndex</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #800080">1</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$rtfColors</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">@{</span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$rtfColorMap</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">@{</span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #008080">[Enum]</span>
                    <span style="color: #a9a9a9">::</span>
                    <span style="color: #000000">GetNames</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #008080">[System.Management.Automation.PSTokenType]</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">|</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #0000ff">%</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColours</span>
                    <span style="color: #a9a9a9">[</span>
                    <span style="color: #ff4500">$_</span>
                    <span style="color: #a9a9a9">]</span>
                    <span style="color: #000000">;</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$rtfColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">"\red$($tokenColor.R)\green$($tokenColor.G)\blue"</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #8b0000">"$($tokenColor.B);"</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$rtfColors</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Keys</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-notcontains</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfColor</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$rtfColors</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #ff4500">$rtfColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfColorIndex</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$rtfColor</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$rtfColorMap</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #ff4500">$_</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfColorIndex</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$rtfColorIndex</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">++</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #00008b">else</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$rtfColorMap</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #ff4500">$_</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfColors</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #ff4500">$rtfColor</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'}'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">"`r`n"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Append RTF document settings.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'\viewkind4\uc1\pard\f0\fs20
'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Iterate over the tokens and set the colors appropriately.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$position</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #800080">0</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #00008b">foreach</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #00008b">in</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokens</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #00008b">if</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$position</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-lt</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Start</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">{</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$text</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Substring</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$position</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Start</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">-</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$position</span>
                    <span style="color: #000000">)</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8b0000">'Unknown'</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #0000ff">Append-RtfBlock</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <br />
                    <span style="color: #000000">            </span>
                    <span style="color: #0000ff">Append-HtmlSpan</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$text</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Substring</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Start</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Type</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">ToString</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #0000ff">Append-RtfBlock</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #0000ff">Append-HtmlSpan</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$block</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$tokenColor</span>
                    <br />
                    <span style="color: #000000">        </span>
                    <br />
                    <span style="color: #000000">        </span>
                    <span style="color: #ff4500">$position</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Start</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">+</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$token</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Length</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Append RTF ending brace.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$null</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">Append</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #8b0000">'}'</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
Copy console screen buffer contents to clipboard in three formats -</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #006400">#
text, HTML and RTF.</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$dataObject</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #0000ff">New-Object</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #8a2be2">Windows.DataObject</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$dataObject</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">SetText</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #008080">[string]</span>
                    <span style="color: #ff4500">$text</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #008080">[Windows.TextDataFormat]</span>
                    <span style="color: #8b0000">"UnicodeText"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$rtf</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$rtfBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">ToString</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$dataObject</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">SetText</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #008080">[string]</span>
                    <span style="color: #ff4500">$rtf</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #008080">[Windows.TextDataFormat]</span>
                    <span style="color: #8b0000">"Rtf"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$code</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$codeBuilder</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">ToString</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$html</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #a9a9a9">=</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #0000ff">GetHtmlClipboardFormat</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$code</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">    </span>
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #ff4500">$dataObject</span>
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000">SetText</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #008080">[string]</span>
                    <span style="color: #ff4500">$html</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #008080">[Windows.TextDataFormat]</span>
                    <span style="color: #8b0000">"Html"</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <br />
                    <span style="color: #000000">    </span>
                    <span style="color: #008080">[Windows.Clipboard]</span>
                    <span style="color: #a9a9a9">::</span>
                    <span style="color: #000000">SetDataObject</span>
                    <span style="color: #000000">(</span>
                    <span style="color: #ff4500">$dataObject</span>
                    <span style="color: #a9a9a9">,</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #ff4500">$true</span>
                    <span style="color: #000000">)</span>
                    <br />
                    <span style="color: #000000">}</span>
                    <br />
                    <br />
                    <span style="color: #a9a9a9">.</span>
                    <span style="color: #000000"> </span>
                    <span style="color: #0000ff">Main</span>
                  </div>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=a45de007-8135-494e-832a-a511a9a6dc5e" />
      </body>
      <title>More PowerShell Syntax Highlighting</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,a45de007-8135-494e-832a-a511a9a6dc5e.aspx</guid>
      <link>http://www.leeholmes.com/blog/MorePowerShellSyntaxHighlighting.aspx</link>
      <pubDate>Tue, 03 Feb 2009 18:40:56 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.msdn.com/powershell/archive/2009/01/13/how-to-copy-colorized-script-from-powershell-ise.aspx"&gt;Vladimir
Averkin&lt;/a&gt; recently wrote a series of posts that show how to export code with syntax
highlighting into HTML and RTF formats. It works great in Outlook, but was causing
Windows Live Writer to crash. The reason is that the HTML stream of the clipboard &lt;a href="http://blogs.msdn.com/jmstall/archive/2007/01/21/html-clipboard.aspx"&gt;isn’t
just a blob of HTML&lt;/a&gt; – it’s supposed to be placed into the clipboard as &lt;a href="http://msdn.microsoft.com/en-us/library/aa767917(VS.85).aspx"&gt;CF_HTML&lt;/a&gt;.
Investigation of that issue gave enough information to exactly pinpoint the crash
in Live Writer, which they were quick to resolve once we pointed out. So it was a
positive thing after all :)
&lt;/p&gt;
&lt;p&gt;
While fixing the script, I took the opportunity to make the HTML prettier, work from
both the ISE and the command-line, and fix a few bugs. I’ve posted it here: &lt;a title="http://www.leeholmes.com/projects/scripts/Set-ClipboardScript.ps1.txt" href="http://www.leeholmes.com/projects/scripts/Set-ClipboardScript.ps1.txt"&gt;http://www.leeholmes.com/projects/scripts/Set-ClipboardScript.ps1.txt&lt;/a&gt;,
as well as below.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 5px; padding-left: 5px; width: 750px; padding-right: 5px; font-family: consolas,lucida console; font-size: 10pt; overflow: auto; border-top: black 1px solid; border-right: black 1px solid; padding-top: 5px"&gt;
&lt;table border="0" cellspacing="0" cellpadding="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #cecece; font-size: 10pt; padding-top: 5px"&gt;001 
&lt;br /&gt;
002 
&lt;br /&gt;
003 
&lt;br /&gt;
004 
&lt;br /&gt;
005 
&lt;br /&gt;
006 
&lt;br /&gt;
007 
&lt;br /&gt;
008 
&lt;br /&gt;
009 
&lt;br /&gt;
010 
&lt;br /&gt;
011 
&lt;br /&gt;
012 
&lt;br /&gt;
013 
&lt;br /&gt;
014 
&lt;br /&gt;
015 
&lt;br /&gt;
016 
&lt;br /&gt;
017 
&lt;br /&gt;
018 
&lt;br /&gt;
019 
&lt;br /&gt;
020 
&lt;br /&gt;
021 
&lt;br /&gt;
022 
&lt;br /&gt;
023 
&lt;br /&gt;
024 
&lt;br /&gt;
025 
&lt;br /&gt;
026 
&lt;br /&gt;
027 
&lt;br /&gt;
028 
&lt;br /&gt;
029 
&lt;br /&gt;
030 
&lt;br /&gt;
031 
&lt;br /&gt;
032 
&lt;br /&gt;
033 
&lt;br /&gt;
034 
&lt;br /&gt;
035 
&lt;br /&gt;
036 
&lt;br /&gt;
037 
&lt;br /&gt;
038 
&lt;br /&gt;
039 
&lt;br /&gt;
040 
&lt;br /&gt;
041 
&lt;br /&gt;
042 
&lt;br /&gt;
043 
&lt;br /&gt;
044 
&lt;br /&gt;
045 
&lt;br /&gt;
046 
&lt;br /&gt;
047 
&lt;br /&gt;
048 
&lt;br /&gt;
049 
&lt;br /&gt;
050 
&lt;br /&gt;
051 
&lt;br /&gt;
052 
&lt;br /&gt;
053 
&lt;br /&gt;
054 
&lt;br /&gt;
055 
&lt;br /&gt;
056 
&lt;br /&gt;
057 
&lt;br /&gt;
058 
&lt;br /&gt;
059 
&lt;br /&gt;
060 
&lt;br /&gt;
061 
&lt;br /&gt;
062 
&lt;br /&gt;
063 
&lt;br /&gt;
064 
&lt;br /&gt;
065 
&lt;br /&gt;
066 
&lt;br /&gt;
067 
&lt;br /&gt;
068 
&lt;br /&gt;
069 
&lt;br /&gt;
070 
&lt;br /&gt;
071 
&lt;br /&gt;
072 
&lt;br /&gt;
073 
&lt;br /&gt;
074 
&lt;br /&gt;
075 
&lt;br /&gt;
076 
&lt;br /&gt;
077 
&lt;br /&gt;
078 
&lt;br /&gt;
079 
&lt;br /&gt;
080 
&lt;br /&gt;
081 
&lt;br /&gt;
082 
&lt;br /&gt;
083 
&lt;br /&gt;
084 
&lt;br /&gt;
085 
&lt;br /&gt;
086 
&lt;br /&gt;
087 
&lt;br /&gt;
088 
&lt;br /&gt;
089 
&lt;br /&gt;
090 
&lt;br /&gt;
091 
&lt;br /&gt;
092 
&lt;br /&gt;
093 
&lt;br /&gt;
094 
&lt;br /&gt;
095 
&lt;br /&gt;
096 
&lt;br /&gt;
097 
&lt;br /&gt;
098 
&lt;br /&gt;
099 
&lt;br /&gt;
100 
&lt;br /&gt;
101 
&lt;br /&gt;
102 
&lt;br /&gt;
103 
&lt;br /&gt;
104 
&lt;br /&gt;
105 
&lt;br /&gt;
106 
&lt;br /&gt;
107 
&lt;br /&gt;
108 
&lt;br /&gt;
109 
&lt;br /&gt;
110 
&lt;br /&gt;
111 
&lt;br /&gt;
112 
&lt;br /&gt;
113 
&lt;br /&gt;
114 
&lt;br /&gt;
115 
&lt;br /&gt;
116 
&lt;br /&gt;
117 
&lt;br /&gt;
118 
&lt;br /&gt;
119 
&lt;br /&gt;
120 
&lt;br /&gt;
121 
&lt;br /&gt;
122 
&lt;br /&gt;
123 
&lt;br /&gt;
124 
&lt;br /&gt;
125 
&lt;br /&gt;
126 
&lt;br /&gt;
127 
&lt;br /&gt;
128 
&lt;br /&gt;
129 
&lt;br /&gt;
130 
&lt;br /&gt;
131 
&lt;br /&gt;
132 
&lt;br /&gt;
133 
&lt;br /&gt;
134 
&lt;br /&gt;
135 
&lt;br /&gt;
136 
&lt;br /&gt;
137 
&lt;br /&gt;
138 
&lt;br /&gt;
139 
&lt;br /&gt;
140 
&lt;br /&gt;
141 
&lt;br /&gt;
142 
&lt;br /&gt;
143 
&lt;br /&gt;
144 
&lt;br /&gt;
145 
&lt;br /&gt;
146 
&lt;br /&gt;
147 
&lt;br /&gt;
148 
&lt;br /&gt;
149 
&lt;br /&gt;
150 
&lt;br /&gt;
151 
&lt;br /&gt;
152 
&lt;br /&gt;
153 
&lt;br /&gt;
154 
&lt;br /&gt;
155 
&lt;br /&gt;
156 
&lt;br /&gt;
157 
&lt;br /&gt;
158 
&lt;br /&gt;
159 
&lt;br /&gt;
160 
&lt;br /&gt;
161 
&lt;br /&gt;
162 
&lt;br /&gt;
163 
&lt;br /&gt;
164 
&lt;br /&gt;
165 
&lt;br /&gt;
166 
&lt;br /&gt;
167 
&lt;br /&gt;
168 
&lt;br /&gt;
169 
&lt;br /&gt;
170 
&lt;br /&gt;
171 
&lt;br /&gt;
172 
&lt;br /&gt;
173 
&lt;br /&gt;
174 
&lt;br /&gt;
175 
&lt;br /&gt;
176 
&lt;br /&gt;
177 
&lt;br /&gt;
178 
&lt;br /&gt;
179 
&lt;br /&gt;
180 
&lt;br /&gt;
181 
&lt;br /&gt;
182 
&lt;br /&gt;
183 
&lt;br /&gt;
184 
&lt;br /&gt;
185 
&lt;br /&gt;
186 
&lt;br /&gt;
187 
&lt;br /&gt;
188 
&lt;br /&gt;
189 
&lt;br /&gt;
190 
&lt;br /&gt;
191 
&lt;br /&gt;
192 
&lt;br /&gt;
193 
&lt;br /&gt;
194 
&lt;br /&gt;
195 
&lt;br /&gt;
196 
&lt;br /&gt;
197 
&lt;br /&gt;
198 
&lt;br /&gt;
199 
&lt;br /&gt;
200 
&lt;br /&gt;
201 
&lt;br /&gt;
202 
&lt;br /&gt;
203 
&lt;br /&gt;
204 
&lt;br /&gt;
205 
&lt;br /&gt;
206 
&lt;br /&gt;
207 
&lt;br /&gt;
208 
&lt;br /&gt;
209 
&lt;br /&gt;
210 
&lt;br /&gt;
211 
&lt;br /&gt;
212 
&lt;br /&gt;
213 
&lt;br /&gt;
214 
&lt;br /&gt;
215 
&lt;br /&gt;
216 
&lt;br /&gt;
217 
&lt;br /&gt;
218 
&lt;br /&gt;
219 
&lt;br /&gt;
220 
&lt;br /&gt;
221 
&lt;br /&gt;
222 
&lt;br /&gt;
223 
&lt;br /&gt;
224 
&lt;br /&gt;
225 
&lt;br /&gt;
226 
&lt;br /&gt;
227 
&lt;br /&gt;
228 
&lt;br /&gt;
229 
&lt;br /&gt;
230 
&lt;br /&gt;
231 
&lt;br /&gt;
232 
&lt;br /&gt;
233 
&lt;br /&gt;
234 
&lt;br /&gt;
235 
&lt;br /&gt;
236 
&lt;br /&gt;
237 
&lt;br /&gt;
238 
&lt;br /&gt;
239 
&lt;br /&gt;
240 
&lt;br /&gt;
241 
&lt;br /&gt;
242 
&lt;br /&gt;
243 
&lt;br /&gt;
244 
&lt;br /&gt;
245 
&lt;br /&gt;
246 
&lt;br /&gt;
247 
&lt;br /&gt;
248 
&lt;br /&gt;
249 
&lt;br /&gt;
250 
&lt;br /&gt;
251 
&lt;br /&gt;
252 
&lt;br /&gt;
253 
&lt;br /&gt;
254 
&lt;br /&gt;
255 
&lt;br /&gt;
256 
&lt;br /&gt;
257 
&lt;br /&gt;
258 
&lt;br /&gt;
259 
&lt;br /&gt;
260 
&lt;br /&gt;
261 
&lt;br /&gt;
262 
&lt;br /&gt;
263 
&lt;br /&gt;
264 
&lt;br /&gt;
265 
&lt;br /&gt;
266 
&lt;br /&gt;
267 
&lt;br /&gt;
268 
&lt;br /&gt;
269 
&lt;br /&gt;
270 
&lt;br /&gt;
271 
&lt;br /&gt;
272 
&lt;br /&gt;
273 
&lt;br /&gt;
274 
&lt;br /&gt;
275 
&lt;br /&gt;
276 
&lt;br /&gt;
277 
&lt;br /&gt;
278 
&lt;br /&gt;
279 
&lt;br /&gt;
280 
&lt;br /&gt;
281 
&lt;br /&gt;
282 
&lt;br /&gt;
283 
&lt;br /&gt;
284 
&lt;br /&gt;
285 
&lt;br /&gt;
286 
&lt;br /&gt;
287 
&lt;br /&gt;
288 
&lt;br /&gt;
289 
&lt;br /&gt;
290 
&lt;br /&gt;
291 
&lt;br /&gt;
292 
&lt;br /&gt;
293 
&lt;br /&gt;
294 
&lt;br /&gt;
295 
&lt;br /&gt;
296 
&lt;br /&gt;
297 
&lt;br /&gt;
298 
&lt;br /&gt;
299 
&lt;br /&gt;
300 
&lt;br /&gt;
301 
&lt;br /&gt;
302 
&lt;br /&gt;
303 
&lt;br /&gt;
304 
&lt;br /&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td valign="top" nowrap="nowrap"&gt;
&lt;div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #fcfcfc; font-size: 10pt; padding-top: 5px"&gt;&lt;span style="color: #006400"&gt;################################################################################&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# Set-ClipboardScript.ps1&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;#&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# The script entire contents of the currently selected
editor window to system&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# clipboard. The copied data can be pasted into any application
that supports&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# pasting in UnicodeText, RTF or HTML format. Text pasted
in RTF or HTML&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# format will be colorized.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;#&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# See also:&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# http://blogs.msdn.com/powershell/archive/2009/01/13/&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# how-to-copy-colorized-script-from-powershell-ise.aspx&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# http://www.leeholmes.com/blog/SyntaxHighlightingInPowerShell.aspx&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# http://www.leeholmes.com/blog/RealtimeSyntaxHighlightingInYourPowerShellConsole.aspx&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;#&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #006400"&gt;################################################################################&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="color: #add8e6"&gt;CmdletBinding&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;]&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;param&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$path&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;Get-ScriptName&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$myInvocation&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ScriptName&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$path&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-and&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008080"&gt;[Threading.Thread]&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;CurrentThread&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ApartmentState&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-ne&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;STA&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;PowerShell&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-NoProfile&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-STA&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-File&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Get-ScriptName&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$path&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;return&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #ff4500"&gt;$tokenColours&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;@{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Attribute'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FFADD8E6'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Command'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF0000FF'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'CommandArgument'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF8A2BE2'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'CommandParameter'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000080'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Comment'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF006400'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'GroupEnd'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'GroupStart'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Keyword'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF00008B'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'LineContinuation'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'LoopLabel'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF00008B'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Member'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'NewLine'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Number'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF800080'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Operator'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FFA9A9A9'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Position'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'StatementSeparator'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'String'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF8B0000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Type'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF008080'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Unknown'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF000000'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Variable'&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FFFF4500'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$psise&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColours&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$psise&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Options&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;TokenColors&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;Add-Type&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-Assembly&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;System.Web&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;Add-Type&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-Assembly&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;PresentationCore&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# Create RTF block from text using named console colors.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;Append-RtfBlock&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$colorIndex&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorMap&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'\'&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'\\'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;`r`n&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;\cf1\par`r`n&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;`t&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'\tab'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'{'&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'\{'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'}'&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'\}'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;\cf$colorIndex
$block&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #006400"&gt;# Generate an HTML span and append it to HTML string
builder&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #ff4500"&gt;$currentLine&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;Append-HtmlSpan&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-eq&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'NewLine'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-or&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-eq&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'LineContinuation'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-eq&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'LineContinuation'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$codeBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'`'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$codeBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;lt;br
/&amp;gt;`r`n&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$lineBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;{0:000}&amp;lt;BR
/&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$currentLine&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$SCRIPT:currentLine&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;++&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;else&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #008080"&gt;[System.Web.HttpUtility]&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;HtmlEncode&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Trim&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'
'&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'&amp;amp;nbsp;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$htmlColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColours&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ToString&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#FF'&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'#'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-eq&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'String'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$lines&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-split&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;`r`n&amp;quot;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;quot;&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$multipleLines&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$false&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #00008b"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$lines&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$multipleLines&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;lt;BR
/&amp;gt;`r`n&amp;quot;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$lineBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;{0:000}&amp;lt;BR
/&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$currentLine&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$SCRIPT:currentLine&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;++&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$newText&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;TrimStart&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$newText&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$newText&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$newText&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$newText&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$multipleLines&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$true&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$codeBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;lt;span
style='color:$htmlColor'&amp;gt;$block&amp;lt;/span&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;GetHtmlClipboardFormat&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$html&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;@&amp;quot; 
&lt;br /&gt;
Version:1.0 
&lt;br /&gt;
StartHTML:0000000000 
&lt;br /&gt;
EndHTML:0000000000 
&lt;br /&gt;
StartFragment:0000000000 
&lt;br /&gt;
EndFragment:0000000000 
&lt;br /&gt;
StartSelection:0000000000 
&lt;br /&gt;
EndSelection:0000000000 
&lt;br /&gt;
SourceURL:file:///about:blank 
&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC `&amp;quot;-//W3C//DTD HTML 4.0 Transitional//EN`&amp;quot;&amp;gt; 
&lt;br /&gt;
&amp;lt;HTML&amp;gt; 
&lt;br /&gt;
&amp;lt;HEAD&amp;gt; 
&lt;br /&gt;
&amp;lt;TITLE&amp;gt;HTML Clipboard&amp;lt;/TITLE&amp;gt; 
&lt;br /&gt;
&amp;lt;/HEAD&amp;gt; 
&lt;br /&gt;
&amp;lt;BODY&amp;gt; 
&lt;br /&gt;
&amp;lt;!--StartFragment--&amp;gt; 
&lt;br /&gt;
&amp;lt;DIV style='font-family:Consolas,Lucida Console; font-size:10pt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; width:750; border:1px solid black; overflow:auto; padding:5px'&amp;gt; 
&lt;br /&gt;
&amp;lt;TABLE BORDER='0' cellpadding='5' cellspacing='0'&amp;gt; 
&lt;br /&gt;
&amp;lt;TBODY&amp;gt; 
&lt;br /&gt;
&amp;lt;TR&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;TD VALIGN='Top'&amp;gt; 
&lt;br /&gt;
&amp;lt;DIV style='font-family:Consolas,Lucida Console; font-size:10pt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; padding:5px; background:#cecece'&amp;gt; 
&lt;br /&gt;
__LINES__ 
&lt;br /&gt;
&amp;lt;/DIV&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;/TD&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;TD VALIGN='Top' NOWRAP='NOWRAP'&amp;gt; 
&lt;br /&gt;
&amp;lt;DIV style='font-family:Consolas,Lucida Console; font-size:10pt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; padding:5px; background:#fcfcfc'&amp;gt; 
&lt;br /&gt;
__HTML__ 
&lt;br /&gt;
&amp;lt;/DIV&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;/TD&amp;gt; 
&lt;br /&gt;
&amp;lt;/TR&amp;gt; 
&lt;br /&gt;
&amp;lt;/TBODY&amp;gt; 
&lt;br /&gt;
&amp;lt;/TABLE&amp;gt; 
&lt;br /&gt;
&amp;lt;/DIV&amp;gt; 
&lt;br /&gt;
&amp;lt;!--EndFragment--&amp;gt; 
&lt;br /&gt;
&amp;lt;/BODY&amp;gt; 
&lt;br /&gt;
&amp;lt;/HTML&amp;gt; 
&lt;br /&gt;
&amp;quot;@&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;__LINES__&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$lineBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ToString&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$startFragment&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;IndexOf&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;lt;!--StartFragment--&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;lt;!--StartFragment--&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$endFragment&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;IndexOf&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;lt;!--EndFragment--&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$html&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;__HTML__&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$startHtml&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;IndexOf&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;lt;!DOCTYPE&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$endHtml&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$html&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;__HTML__&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-replace&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;StartHTML:0000000000&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;StartHTML:{0:0000000000}&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$startHtml&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-replace&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;EndHTML:0000000000&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;EndHTML:{0:0000000000}&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$endHtml&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-replace&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;StartFragment:0000000000&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;StartFragment:{0:0000000000}&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$startFragment&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-replace&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;EndFragment:0000000000&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;EndFragment:{0:0000000000}&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$endFragment&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-replace&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;StartSelection:0000000000&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;StartSelection:{0:0000000000}&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$startFragment&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-replace&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;EndSelection:0000000000&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;EndSelection:{0:0000000000}&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$endFragment&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Replace&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;__HTML__&amp;quot;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$html&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Write-Verbose&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #00008b"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;Main&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$text&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$path&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$text&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Get-Content&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$path&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-join&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;`r`n&amp;quot;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;else&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$psise&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;CurrentOpenedFile&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Write-Error&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'No
script is available for copying.'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;return&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$text&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$psise&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;CurrentOpenedFile&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Editor&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Text&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;trap&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #00008b"&gt;break&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Do syntax parsing.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$errors&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokens&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #008080"&gt;[system.management.automation.psparser]&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;Tokenize&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$Text&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #008080"&gt;[ref]&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$errors&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Initialize HTML builder.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$codeBuilder&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new-object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;system.text.stringbuilder&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$lineBuilder&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new-object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;system.text.stringbuilder&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$lineBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;{0:000}&amp;lt;BR
/&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-f&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$currentLine&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$SCRIPT:currentLine&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;++&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Initialize RTF builder.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new-object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;system.text.stringbuilder&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Append RTF header&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033{\fonttbl&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;{\f0\fnil\fcharset0
$fontName;}}&amp;quot;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$header&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;`r`n&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Append RTF color table which will contain all Powershell console colors.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;{\colortbl
;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Generate RTF color definitions for each token type.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorIndex&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColors&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;@{&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorMap&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;@{&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #008080"&gt;[Enum]&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;GetNames&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008080"&gt;[System.Management.Automation.PSTokenType]&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColours&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;]&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;\red$($tokenColor.R)\green$($tokenColor.G)\blue&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;$($tokenColor.B);&amp;quot;&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColors&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Keys&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-notcontains&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColor&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColors&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorIndex&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColor&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorMap&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorIndex&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorIndex&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;++&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;else&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColorMap&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColors&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfColor&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'}'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;`r`n&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Append RTF document settings.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'\viewkind4\uc1\pard\f0\fs20
'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Iterate over the tokens and set the colors appropriately.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$position&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #00008b"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokens&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #00008b"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$position&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-lt&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Start&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$text&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Substring&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$position&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Start&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$position&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'Unknown'&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Append-RtfBlock&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Append-HtmlSpan&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$text&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Substring&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Start&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Type&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ToString&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Append-RtfBlock&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Append-HtmlSpan&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$block&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$tokenColor&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$position&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Start&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$token&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Length&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Append RTF ending brace.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Append&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;'}'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
Copy console screen buffer contents to clipboard in three formats -&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#
text, HTML and RTF.&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$dataObject&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;New-Object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;Windows.DataObject&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$dataObject&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;SetText&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008080"&gt;[string]&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$text&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #008080"&gt;[Windows.TextDataFormat]&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;UnicodeText&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtf&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtfBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ToString&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$dataObject&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;SetText&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008080"&gt;[string]&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$rtf&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #008080"&gt;[Windows.TextDataFormat]&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;Rtf&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$code&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$codeBuilder&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ToString&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$html&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;GetHtmlClipboardFormat&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$code&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$dataObject&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;SetText&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008080"&gt;[string]&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$html&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #008080"&gt;[Windows.TextDataFormat]&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;Html&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #008080"&gt;[Windows.Clipboard]&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;SetDataObject&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$dataObject&lt;/span&gt;&lt;span style="color: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$true&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="color: #000000"&gt;}&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Main&lt;/span&gt; 
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=a45de007-8135-494e-832a-a511a9a6dc5e" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,a45de007-8135-494e-832a-a511a9a6dc5e.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=87fd10fa-11a3-44e4-babd-584abc2ce4da</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,87fd10fa-11a3-44e4-babd-584abc2ce4da.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,87fd10fa-11a3-44e4-babd-584abc2ce4da.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=87fd10fa-11a3-44e4-babd-584abc2ce4da</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We frequently get questions asking, “Where can I get a PowerShell script encoder so
I can write secure scripts like the Visual Basic Script Encoder?”
</p>
        <p>
The answer is that it is impossible to hide the password from the user if the script
ever needs it. This is true of PowerShell, VBScript, C#, C++, Assembly, or any other
language. There will always be some point when your script has reversed all of the
encryption / protection mechanisms, giving the “attacker” complete access to it. If
you don’t want the password itself hanging around in a script file, you can prompt
the user for it. If the user is never supposed to know it, then you need to re-think
your architecture.
</p>
        <p>
Microsoft hasn’t been clear enough documenting what protections the Script Encoder
offers, but here is an excerpt from <a href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/mar06/hey0309.mspx">the
Scripting Guys</a>:
</p>
        <blockquote>
          <p>
            <i>Now, the important thing to keep in mind is that the script is simply encoded (or
obfuscated); it is definitely not encrypted. What does that mean? That means the encoder
will hide your script from most people; however, a truly determined hacker - armed
with a knowledge of codes or armed with a utility downloaded from the Internet - could
crack the code. Among other things, that means that you should never do something
like “hide” an Administrator password in a script and assume that the Script Encoder
will keep it safe from prying eyes. It won’t. It’s an encoder, not an encrypter, and
there’s definitely a difference.</i>
            <i>
            </i>
          </p>
        </blockquote>
        <p>
I’m not sure why the main <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e7877f67-c447-4873-b1b0-21f0626a6329&amp;DisplayLang=en">download
page</a> is fond of the term “determined hacker” – a 30 second search for “vbe decryption”
returns pages of results.
</p>
        <p>
Now, a valid response to the whole situation is that you really only want to deter
casual investigation, or that reversing the protection can then be linked to a breach
of contract or software license. If you are in either of those boats, you don’t need
an official tool to do this for you. Hiding your script behind Base64 encoding or
ROT-13 should offer plenty of protection, and takes only a few lines of scripting.
If you have the skill to make that decision, you have the skill to implement it as
well.
</p>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=87fd10fa-11a3-44e4-babd-584abc2ce4da" />
      </body>
      <title>PowerShell Script Encrypter</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,87fd10fa-11a3-44e4-babd-584abc2ce4da.aspx</guid>
      <link>http://www.leeholmes.com/blog/PowerShellScriptEncrypter.aspx</link>
      <pubDate>Mon, 02 Feb 2009 17:05:46 GMT</pubDate>
      <description>&lt;p&gt;
We frequently get questions asking, “Where can I get a PowerShell script encoder so
I can write secure scripts like the Visual Basic Script Encoder?”
&lt;/p&gt;
&lt;p&gt;
The answer is that it is impossible to hide the password from the user if the script
ever needs it. This is true of PowerShell, VBScript, C#, C++, Assembly, or any other
language. There will always be some point when your script has reversed all of the
encryption / protection mechanisms, giving the “attacker” complete access to it. If
you don’t want the password itself hanging around in a script file, you can prompt
the user for it. If the user is never supposed to know it, then you need to re-think
your architecture.
&lt;/p&gt;
&lt;p&gt;
Microsoft hasn’t been clear enough documenting what protections the Script Encoder
offers, but here is an excerpt from &lt;a href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/mar06/hey0309.mspx"&gt;the
Scripting Guys&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;i&gt;Now, the important thing to keep in mind is that the script is simply encoded (or
obfuscated); it is definitely not encrypted. What does that mean? That means the encoder
will hide your script from most people; however, a truly determined hacker - armed
with a knowledge of codes or armed with a utility downloaded from the Internet - could
crack the code. Among other things, that means that you should never do something
like “hide” an Administrator password in a script and assume that the Script Encoder
will keep it safe from prying eyes. It won’t. It’s an encoder, not an encrypter, and
there’s definitely a difference.&lt;/i&gt;&lt;i&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
I’m not sure why the main &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e7877f67-c447-4873-b1b0-21f0626a6329&amp;amp;DisplayLang=en"&gt;download
page&lt;/a&gt; is fond of the term “determined hacker” – a 30 second search for “vbe decryption”
returns pages of results.
&lt;/p&gt;
&lt;p&gt;
Now, a valid response to the whole situation is that you really only want to deter
casual investigation, or that reversing the protection can then be linked to a breach
of contract or software license. If you are in either of those boats, you don’t need
an official tool to do this for you. Hiding your script behind Base64 encoding or
ROT-13 should offer plenty of protection, and takes only a few lines of scripting.
If you have the skill to make that decision, you have the skill to implement it as
well.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=87fd10fa-11a3-44e4-babd-584abc2ce4da" /&gt;</description>
      <comments>http://www.leeholmes.com/blog/CommentView,guid,87fd10fa-11a3-44e4-babd-584abc2ce4da.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.leeholmes.com/blog/Trackback.aspx?guid=b7f59f9d-443f-4643-9356-245e4e2b4c4f</trackback:ping>
      <pingback:server>http://www.leeholmes.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.leeholmes.com/blog/PermaLink,guid,b7f59f9d-443f-4643-9356-245e4e2b4c4f.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.leeholmes.com/blog/CommentView,guid,b7f59f9d-443f-4643-9356-245e4e2b4c4f.aspx</wfw:comment>
      <wfw:commentRss>http://www.leeholmes.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b7f59f9d-443f-4643-9356-245e4e2b4c4f</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A while back, Roberto Farah published a script library to help control <a href="http://blogs.msdn.com/debuggingtoolbox/archive/2007/09/05/powershell-script-powerdbg-using-powershell-to-control-windbg.aspx">WinDbg
through PowerShell</a>. I’ve been using WinDbg for more debugging lately, and decided
(after following one to many object references by hand) that I needed to script my
investigations.
</p>
        <p>
PowerDbg is definitely helpful – Roberto has tons of great scripts published that
help analyze all kinds of interesting data. It also made me think of an alternative
approach that works around some of the problem areas – PowerDbg uses SendKeys, window
focusing, and used WinDbg logging as the communication mechanism. After some investigation,
I thought that automation of the command-line version (cdb.exe) through its input
and output streams might be easier and more efficient – which indeed it was.
</p>
        <p>
You set up a remote from the Windbg instance you want to control, and then the WinDbg
module (below) connects to the remote session (by manipulating standard in / standard
out of cdb.exe) to manage its output.
</p>
        <blockquote>
          <p>
Windows PowerShell V2 
<br />
Copyright (C) 2008 Microsoft Corporation. All rights reserved. 
<br />
PS C:\Users\leeholm&gt; Import-Module Windbg 
<br />
PS C:\Users\leeholm&gt; Connect-Windbg "tcp:Port=10456,Server=SERVER" 
<br />
PS C:\Users\leeholm&gt; Invoke-WindbgCommand .symfix 
<br />
PS C:\Users\leeholm&gt; Invoke-WindbgCommand .reload 
<br />
0:009&gt; Reloading current modules 
<br />
................................................................ 
<br />
........... 
<br />
PS C:\Users\leeholm&gt; Invoke-WindbgCommand k 
<br />
0:009&gt; ChildEBP RetAddr 
<br />
0460fbe8 76ebd0d0 ntdll!DbgBreakPoint [d:\foo.c @ 206] 
<br />
0460fc18 76fc4911 ntdll!DbgUiRemoteBreakin+0x3c [d:\bar.c @ 298] 
<br />
0460fc24 76e6e4b6 kernel32!BaseThreadInitThunk+0xe [d:\baz.c @ 66] 
<br />
0460fc64 76e6e489 ntdll!__RtlUserThreadStart+0x23 [d:\bing.c @ 2740] 
<br />
0460fc7c 00000000 ntdll!_RtlUserThreadStart+0x1b [d:\bing.c @ 2672] 
<br />
PS C:\Users\leeholm&gt;
</p>
        </blockquote>
        <p>
Here’s an example function to demonstrate its use:
</p>
        <blockquote>
          <div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 750px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px">
            <table border="0" cellspacing="0" cellpadding="5">
              <tbody>
                <tr>
                  <td valign="top">
                    <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px">001 
<br />
002 
<br />
003 
<br />
004 
<br />
005 
<br />
006 
<br />
007 
<br />
008 
<br />
009 
<br />
010 
<br />
011 
<br />
012 
<br />
013 
<br />
014 
<br />
015 
<br />
016 
<br />
017 
<br />
018 
<br />
019 
<br />
020 
<br />
021 
<br />
022 
<br />
023 
<br />
024 
<br />
025 
<br />
026 
<br />
027 
<br />
028 
<br />
029 
<br />
030 
<br />
031 
<br />
032 
<br />
033 
<br />
034 
<br />
035 
<br />
036 
<br />
037 
<br />
038 
<br />
039 
<br />
040 
<br />
041 
<br />
042 
<br />
043 
<br />
044 
<br />
045 
<br />
046 
<br />
047 
<br />
048 
<br />
049 
<br />
050 
<br />
051 
<br />
052 
<br />
053 
<br />
054 
<br /></div>
                  </td>
                  <td valign="top" nowrap="nowrap">
                    <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px">
                      <span style="COLOR: #006400">################################################################################</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## Resolve-PsInvocationInfo.ps1</span>
                      <br />
                      <span style="COLOR: #006400">## Resolves the command and script information from an
active PowerShell</span>
                      <br />
                      <span style="COLOR: #006400">## process</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">################################################################################</span>
                      <br />
                      <span style="COLOR: #0000ff">Import-Module</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">windbg</span>
                      <br />
                      <span style="COLOR: #0000ff">Connect-Windbg</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"tcp:Port=10456,Server=SERVER"</span>
                      <br />
                      <br />
                      <span style="COLOR: #00008b">function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Resolve-Member</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$address</span>
                      <span style="COLOR: #a9a9a9">,</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$member</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">Invoke-WindbgCommand</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">!dumpobj</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$address</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #a9a9a9">-not</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$member</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">else</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$currentMember</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$member</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-split</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"\."</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">[</span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #a9a9a9">]</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$remaining</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$member</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Remove</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #a9a9a9">,</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$currentMember</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Length</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">TrimStart</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #8b0000">'.'</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #0000ff">Write-Verbose</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"Looking
for $currentMember on $address"</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">|</span>
                      <span style="COLOR: #000000"> </span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #0000ff">Select-String</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #8b0000">"(instance|shared).*$currentMember"</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">+</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">'$'</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">|</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #0000ff">Select-String</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000080">-NotMatch</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">00000000</span>
                      <br />
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #ff4500">$columns</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-split</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #ff4500">$address</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$columns</span>
                      <span style="COLOR: #a9a9a9">[</span>
                      <span style="COLOR: #800080">6</span>
                      <span style="COLOR: #a9a9a9">]</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #0000ff">Resolve-Member</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$address</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$remaining</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">else</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #0000ff">Write-Error</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"Could
not resolve $currentMember on $address"</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #ff4500">$null</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">Invoke-WindbgCommand</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">.loadby</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">sos</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">mscorwks</span>
                      <br />
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">Invoke-WindbgCommand</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #8b0000">"!dumpheap
-type "</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">+</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #8b0000">"System.Management.Automation.InvocationInfo
-short"</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #00008b">foreach</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$line</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #00008b">in</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #0000ff">Resolve-Member</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$line</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">commandInfo.name</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #0000ff">Resolve-Member</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$line</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">scriptToken._script</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #0000ff">Resolve-Member</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$line</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">scriptToken._line</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #0000ff">Disconnect-Windbg</span>
                    </div>
                  </td>
                </tr>
              </tbody>
            </table>
          </div>
        </blockquote>
        <p>
And the module itself (WinDbg.psm1, place in a “WinDbg” folder in your modules folder):
</p>
        <p>
          <em>(Edit: 05/13/09 - Updated to support local kernel debugging)</em>
        </p>
        <blockquote>
          <div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 650px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px">
            <table border="0" cellspacing="0" cellpadding="5">
              <tbody>
                <tr>
                  <td valign="top">
                    <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px">001<br />
002<br />
003<br />
004<br />
005<br />
006<br />
007<br />
008<br />
009<br />
010<br />
011<br />
012<br />
013<br />
014<br />
015<br />
016<br />
017<br />
018<br />
019<br />
020<br />
021<br />
022<br />
023<br />
024<br />
025<br />
026<br />
027<br />
028<br />
029<br />
030<br />
031<br />
032<br />
033<br />
034<br />
035<br />
036<br />
037<br />
038<br />
039<br />
040<br />
041<br />
042<br />
043<br />
044<br />
045<br />
046<br />
047<br />
048<br />
049<br />
050<br />
051<br />
052<br />
053<br />
054<br />
055<br />
056<br />
057<br />
058<br />
059<br />
060<br />
061<br />
062<br />
063<br />
064<br />
065<br />
066<br />
067<br />
068<br />
069<br />
070<br />
071<br />
072<br />
073<br />
074<br />
075<br />
076<br />
077<br />
078<br />
079<br />
080<br />
081<br />
082<br />
083<br />
084<br />
085<br />
086<br />
087<br />
088<br />
089<br />
090<br />
091<br />
092<br />
093<br />
094<br />
095<br />
096<br />
097<br />
098<br />
099<br />
100<br />
101<br />
102<br />
103<br />
104<br />
105<br />
106<br />
107<br />
108<br />
109<br />
110<br />
111<br />
112<br />
113<br />
114<br />
115<br />
116<br />
117<br />
118<br />
119<br />
120<br />
121<br />
122<br />
123<br />
124<br />
125<br />
126<br />
127<br />
128<br />
129<br />
130<br />
131<br />
132<br />
133<br />
134<br />
135<br />
136<br />
137<br />
138<br />
139<br />
140<br />
141<br />
142<br />
143<br />
144<br />
145<br />
146<br />
147<br />
148<br /></div>
                  </td>
                  <td valign="top" nowrap="nowrap">
                    <div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px">
                      <span style="COLOR: #006400">################################################################################</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## WinDbg.psm1</span>
                      <br />
                      <span style="COLOR: #006400">## Automate WinDbg with PowerShell scripting</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## To use:</span>
                      <br />
                      <span style="COLOR: #006400">## In WinDbg, set up a server: .server tcp:Port=10456</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## In PowerShell</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## Import-Module windbg</span>
                      <br />
                      <span style="COLOR: #006400">## Connect-Windbg -remote "tcp:Port=10456,Server=&lt;server&gt;"</span>
                      <br />
                      <span style="COLOR: #006400">## Other remote connection strings / protocols work,
too.</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## For local kernel debugging:</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## Import-Module Windbg -ArgumentList 'C:\&lt;path&gt;\kd.exe'</span>
                      <br />
                      <span style="COLOR: #006400">## Connect-Windbg -ArgumentList "-kl"</span>
                      <br />
                      <span style="COLOR: #006400">## Invoke-WindbgCommand "!process"</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">## Cleaning up:</span>
                      <br />
                      <span style="COLOR: #006400">## Disconnect-Windbg</span>
                      <br />
                      <span style="COLOR: #006400">##</span>
                      <br />
                      <span style="COLOR: #006400">################################################################################</span>
                      <br />
                      <br />
                      <span style="COLOR: #00008b">param</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$cdbPath</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"C:\Program
Files\Debugging Tools for Windows\cdb.exe"</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <br />
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$null</span>
                      <br />
                      <span style="COLOR: #ff4500">$SCRIPT:currentConnection</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$null</span>
                      <br />
                      <br />
                      <span style="COLOR: #006400">## Connect to a windbg remote session</span>
                      <br />
                      <span style="COLOR: #00008b">function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Connect-Windbg</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">param</span>
                      <span style="COLOR: #000000">(</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #a9a9a9">[</span>
                      <span style="COLOR: #add8e6">Parameter</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">ParameterSetName</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"Remote"</span>
                      <span style="COLOR: #a9a9a9">,</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">Mandatory</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$true</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">]</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$remote</span>
                      <span style="COLOR: #a9a9a9">,</span>
                      <br />
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #a9a9a9">[</span>
                      <span style="COLOR: #add8e6">Parameter</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">ParameterSetName</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"ArgumentList"</span>
                      <span style="COLOR: #a9a9a9">,</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">Mandatory</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$true</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">]</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$argumentList</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$SCRIPT:currentConnection</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-and</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$SCRIPT:currentConnection</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-ne</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$remote</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">throw</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"Already
connected to $remote. Use Disconnect-Windbg, "</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">+</span>
                      <span style="COLOR: #000000"> </span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #8b0000">"then
connect to another instance."</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
Launch cdb.exe, the command-line version of WinDbg.</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
Take control of its input and output streams, which we'll use</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
to capture commands and their output.</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #a9a9a9">-not</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$SCRIPT:currentConnection</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">New-Object</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">System.Diagnostics.ProcessStartInfo</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">FileName</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$cdbPath</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">WorkingDirectory</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #0000ff">Get-Location</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Path</span>
                      <br />
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$remote</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">                </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Arguments</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"-remote
$remote"</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">else</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">                </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Arguments</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$argumentList</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">UseShellExecute</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$false</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">RedirectStandardInput</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$true</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">RedirectStandardOutput</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$true</span>
                      <span style="COLOR: #000000"> </span>
                      <br />
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #008080">[System.Diagnostics.Process]</span>
                      <span style="COLOR: #a9a9a9">::</span>
                      <span style="COLOR: #000000">Start</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$processStartInfo</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$SCRIPT:currentConnection</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$remote</span>
                      <br />
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #a9a9a9">-not</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #00008b">return</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #006400">##
Ignore the stuff that was in the session before we</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #006400">##
connected</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$null</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">Receive-WindbgOutput</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #006400">## Disconnect from the session</span>
                      <br />
                      <span style="COLOR: #00008b">function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Disconnect-Windbg</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-and</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #a9a9a9">-not</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">HasExited</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">StandardOutput</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Close</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">StandardInput</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Close</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Kill</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$SCRIPT:currentConnection</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$null</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$null</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #006400">## Invoke a command in the connected WinDbg session,
and return</span>
                      <br />
                      <span style="COLOR: #006400">## its output</span>
                      <br />
                      <span style="COLOR: #00008b">function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Invoke-WindbgCommand</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #a9a9a9">-not</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">throw</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"Not
connected. Use Connect-Windbg to connect to an "</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">+</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #8b0000">"instance
of WinDbg."</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">StandardInput</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">WriteLine</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #8b0000">"$args"</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #0000ff">Receive-WindbgOutput</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #006400">## Retrieve pending output from the connected WinDbg
session</span>
                      <br />
                      <span style="COLOR: #00008b">function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Receive-WindbgOutput</span>
                      <br />
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
Add a special tag so that we know the end of the command</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
response</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$sent</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8b0000">"PSWINDBG_COMPLETE_{0:o}"</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-f</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #008080">[DateTime]</span>
                      <span style="COLOR: #a9a9a9">::</span>
                      <span style="COLOR: #000000">Now</span>
                      <span style="COLOR: #000000">        </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">StandardInput</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">WriteLine</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #8b0000">".echo
$sent"</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$received</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">New-Object</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">System.Text.StringBuilder</span>
                      <br />
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
Wait for the response to end</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">while</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$received</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">ToString</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">IndexOf</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$sent</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-lt</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$null</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">StandardOutput</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">EndOfStream</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #00008b">while</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">StandardOutput</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Peek</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-ge</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">            </span>
                      <span style="COLOR: #ff4500">$null</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$received</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Append</span>
                      <span style="COLOR: #000000">(</span>
                      <br />
                      <span style="COLOR: #000000">                </span>
                      <span style="COLOR: #ff4500">$SCRIPT:windbgProcess</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">StandardOutput</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Read</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">,</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">1</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
Split it into lines, and return everything but the new</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #006400">##
prompt, and the "end response" tag</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #ff4500">$received</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">ToString</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Split</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #8b0000">"`r`n"</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #00008b">if</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Length</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-gt</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">2</span>
                      <span style="COLOR: #000000">)</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">{</span>
                      <br />
                      <span style="COLOR: #000000">        </span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #a9a9a9">[</span>
                      <span style="COLOR: #800080">0</span>
                      <span style="COLOR: #a9a9a9">..</span>
                      <span style="COLOR: #000000">(</span>
                      <span style="COLOR: #ff4500">$output</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Length</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">-</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #800080">3</span>
                      <span style="COLOR: #000000">)</span>
                      <span style="COLOR: #a9a9a9">]</span>
                      <br />
                      <span style="COLOR: #000000">    </span>
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <span style="COLOR: #000000">}</span>
                      <br />
                      <br />
                      <span style="COLOR: #0000ff">Export-ModuleMember</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000080">-Function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Connect-Windbg</span>
                      <br />
                      <span style="COLOR: #0000ff">Export-ModuleMember</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000080">-Function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Disconnect-Windbg</span>
                      <br />
                      <span style="COLOR: #0000ff">Export-ModuleMember</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000080">-Function</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #8a2be2">Invoke-WindbgCommand</span>
                      <br />
                      <br />
                      <span style="COLOR: #ff4500">$MyInvocation</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">MyCommand</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">ScriptBlock</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">Module</span>
                      <span style="COLOR: #a9a9a9">.</span>
                      <span style="COLOR: #000000">OnRemove</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #a9a9a9">=</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">{</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #0000ff">Disconnect-Windbg</span>
                      <span style="COLOR: #000000"> </span>
                      <span style="COLOR: #000000">}</span>
                    </div>
                  </td>
                </tr>
              </tbody>
            </table>
          </div>
        </blockquote>
        <img width="0" height="0" src="http://www.leeholmes.com/blog/aggbug.ashx?id=b7f59f9d-443f-4643-9356-245e4e2b4c4f" />
      </body>
      <title>Scripting WinDbg with PowerShell</title>
      <guid isPermaLink="false">http://www.leeholmes.com/blog/PermaLink,guid,b7f59f9d-443f-4643-9356-245e4e2b4c4f.aspx</guid>
      <link>http://www.leeholmes.com/blog/ScriptingWinDbgWithPowerShell.aspx</link>
      <pubDate>Wed, 21 Jan 2009 01:39:22 GMT</pubDate>
      <description>&lt;p&gt;
A while back, Roberto Farah published a script library to help control &lt;a href="http://blogs.msdn.com/debuggingtoolbox/archive/2007/09/05/powershell-script-powerdbg-using-powershell-to-control-windbg.aspx"&gt;WinDbg
through PowerShell&lt;/a&gt;. I’ve been using WinDbg for more debugging lately, and decided
(after following one to many object references by hand) that I needed to script my
investigations.
&lt;/p&gt;
&lt;p&gt;
PowerDbg is definitely helpful – Roberto has tons of great scripts published that
help analyze all kinds of interesting data. It also made me think of an alternative
approach that works around some of the problem areas – PowerDbg uses SendKeys, window
focusing, and used WinDbg logging as the communication mechanism. After some investigation,
I thought that automation of the command-line version (cdb.exe) through its input
and output streams might be easier and more efficient – which indeed it was.
&lt;/p&gt;
&lt;p&gt;
You set up a remote from the Windbg instance you want to control, and then the WinDbg
module (below) connects to the remote session (by manipulating standard in / standard
out of cdb.exe) to manage its output.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Windows PowerShell V2 
&lt;br&gt;
Copyright (C) 2008 Microsoft Corporation. All rights reserved. 
&lt;br&gt;
PS C:\Users\leeholm&amp;gt; Import-Module Windbg 
&lt;br&gt;
PS C:\Users\leeholm&amp;gt; Connect-Windbg "tcp:Port=10456,Server=SERVER" 
&lt;br&gt;
PS C:\Users\leeholm&amp;gt; Invoke-WindbgCommand .symfix 
&lt;br&gt;
PS C:\Users\leeholm&amp;gt; Invoke-WindbgCommand .reload 
&lt;br&gt;
0:009&amp;gt; Reloading current modules 
&lt;br&gt;
................................................................ 
&lt;br&gt;
........... 
&lt;br&gt;
PS C:\Users\leeholm&amp;gt; Invoke-WindbgCommand k 
&lt;br&gt;
0:009&amp;gt; ChildEBP RetAddr 
&lt;br&gt;
0460fbe8 76ebd0d0 ntdll!DbgBreakPoint [d:\foo.c @ 206] 
&lt;br&gt;
0460fc18 76fc4911 ntdll!DbgUiRemoteBreakin+0x3c [d:\bar.c @ 298] 
&lt;br&gt;
0460fc24 76e6e4b6 kernel32!BaseThreadInitThunk+0xe [d:\baz.c @ 66] 
&lt;br&gt;
0460fc64 76e6e489 ntdll!__RtlUserThreadStart+0x23 [d:\bing.c @ 2740] 
&lt;br&gt;
0460fc7c 00000000 ntdll!_RtlUserThreadStart+0x1b [d:\bing.c @ 2672] 
&lt;br&gt;
PS C:\Users\leeholm&amp;gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Here’s an example function to demonstrate its use:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 750px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px"&gt;
&lt;table border=0 cellspacing=0 cellpadding=5&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;001 
&lt;br&gt;
002 
&lt;br&gt;
003 
&lt;br&gt;
004 
&lt;br&gt;
005 
&lt;br&gt;
006 
&lt;br&gt;
007 
&lt;br&gt;
008 
&lt;br&gt;
009 
&lt;br&gt;
010 
&lt;br&gt;
011 
&lt;br&gt;
012 
&lt;br&gt;
013 
&lt;br&gt;
014 
&lt;br&gt;
015 
&lt;br&gt;
016 
&lt;br&gt;
017 
&lt;br&gt;
018 
&lt;br&gt;
019 
&lt;br&gt;
020 
&lt;br&gt;
021 
&lt;br&gt;
022 
&lt;br&gt;
023 
&lt;br&gt;
024 
&lt;br&gt;
025 
&lt;br&gt;
026 
&lt;br&gt;
027 
&lt;br&gt;
028 
&lt;br&gt;
029 
&lt;br&gt;
030 
&lt;br&gt;
031 
&lt;br&gt;
032 
&lt;br&gt;
033 
&lt;br&gt;
034 
&lt;br&gt;
035 
&lt;br&gt;
036 
&lt;br&gt;
037 
&lt;br&gt;
038 
&lt;br&gt;
039 
&lt;br&gt;
040 
&lt;br&gt;
041 
&lt;br&gt;
042 
&lt;br&gt;
043 
&lt;br&gt;
044 
&lt;br&gt;
045 
&lt;br&gt;
046 
&lt;br&gt;
047 
&lt;br&gt;
048 
&lt;br&gt;
049 
&lt;br&gt;
050 
&lt;br&gt;
051 
&lt;br&gt;
052 
&lt;br&gt;
053 
&lt;br&gt;
054 
&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td valign=top nowrap&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: consolas,lucida console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;&lt;span style="COLOR: #006400"&gt;################################################################################&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Resolve-PsInvocationInfo.ps1&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Resolves the command and script information from an
active PowerShell&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## process&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;################################################################################&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #0000ff"&gt;Import-Module&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;windbg&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #0000ff"&gt;Connect-Windbg&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"tcp:Port=10456,Server=SERVER"&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Resolve-Member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$address&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Invoke-WindbgCommand&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;!dumpobj&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$address&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;else&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMember&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-split&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"\."&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$remaining&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$member&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Remove&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;0&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$currentMember&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Length&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;TrimStart&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;'.'&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Write-Verbose&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Looking
for $currentMember on $address"&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Select-String&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"(instance|shared).*$currentMember"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;'$'&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;|&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Select-String&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000080"&gt;-NotMatch&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;00000000&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$columns&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-split&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$address&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$columns&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #800080"&gt;6&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Resolve-Member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$address&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$remaining&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;else&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Write-Error&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Could
not resolve $currentMember on $address"&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Invoke-WindbgCommand&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;.loadby&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;sos&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;mscorwks&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Invoke-WindbgCommand&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"!dumpheap
-type "&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"System.Management.Automation.InvocationInfo
-short"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$output&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Resolve-Member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;commandInfo.name&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Resolve-Member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;scriptToken._script&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Resolve-Member&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$line&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;scriptToken._line&lt;/span&gt; 
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #0000ff"&gt;Disconnect-Windbg&lt;/span&gt; 
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
And the module itself (WinDbg.psm1, place in a “WinDbg” folder in your modules folder):
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;(Edit: 05/13/09 - Updated to support local kernel debugging)&lt;/em&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;div style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 650px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; FONT-SIZE: 10pt; OVERFLOW: auto; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid; PADDING-TOP: 5px"&gt;
&lt;table border=0 cellspacing=0 cellpadding=5&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #cecece; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;001&lt;br&gt;
002&lt;br&gt;
003&lt;br&gt;
004&lt;br&gt;
005&lt;br&gt;
006&lt;br&gt;
007&lt;br&gt;
008&lt;br&gt;
009&lt;br&gt;
010&lt;br&gt;
011&lt;br&gt;
012&lt;br&gt;
013&lt;br&gt;
014&lt;br&gt;
015&lt;br&gt;
016&lt;br&gt;
017&lt;br&gt;
018&lt;br&gt;
019&lt;br&gt;
020&lt;br&gt;
021&lt;br&gt;
022&lt;br&gt;
023&lt;br&gt;
024&lt;br&gt;
025&lt;br&gt;
026&lt;br&gt;
027&lt;br&gt;
028&lt;br&gt;
029&lt;br&gt;
030&lt;br&gt;
031&lt;br&gt;
032&lt;br&gt;
033&lt;br&gt;
034&lt;br&gt;
035&lt;br&gt;
036&lt;br&gt;
037&lt;br&gt;
038&lt;br&gt;
039&lt;br&gt;
040&lt;br&gt;
041&lt;br&gt;
042&lt;br&gt;
043&lt;br&gt;
044&lt;br&gt;
045&lt;br&gt;
046&lt;br&gt;
047&lt;br&gt;
048&lt;br&gt;
049&lt;br&gt;
050&lt;br&gt;
051&lt;br&gt;
052&lt;br&gt;
053&lt;br&gt;
054&lt;br&gt;
055&lt;br&gt;
056&lt;br&gt;
057&lt;br&gt;
058&lt;br&gt;
059&lt;br&gt;
060&lt;br&gt;
061&lt;br&gt;
062&lt;br&gt;
063&lt;br&gt;
064&lt;br&gt;
065&lt;br&gt;
066&lt;br&gt;
067&lt;br&gt;
068&lt;br&gt;
069&lt;br&gt;
070&lt;br&gt;
071&lt;br&gt;
072&lt;br&gt;
073&lt;br&gt;
074&lt;br&gt;
075&lt;br&gt;
076&lt;br&gt;
077&lt;br&gt;
078&lt;br&gt;
079&lt;br&gt;
080&lt;br&gt;
081&lt;br&gt;
082&lt;br&gt;
083&lt;br&gt;
084&lt;br&gt;
085&lt;br&gt;
086&lt;br&gt;
087&lt;br&gt;
088&lt;br&gt;
089&lt;br&gt;
090&lt;br&gt;
091&lt;br&gt;
092&lt;br&gt;
093&lt;br&gt;
094&lt;br&gt;
095&lt;br&gt;
096&lt;br&gt;
097&lt;br&gt;
098&lt;br&gt;
099&lt;br&gt;
100&lt;br&gt;
101&lt;br&gt;
102&lt;br&gt;
103&lt;br&gt;
104&lt;br&gt;
105&lt;br&gt;
106&lt;br&gt;
107&lt;br&gt;
108&lt;br&gt;
109&lt;br&gt;
110&lt;br&gt;
111&lt;br&gt;
112&lt;br&gt;
113&lt;br&gt;
114&lt;br&gt;
115&lt;br&gt;
116&lt;br&gt;
117&lt;br&gt;
118&lt;br&gt;
119&lt;br&gt;
120&lt;br&gt;
121&lt;br&gt;
122&lt;br&gt;
123&lt;br&gt;
124&lt;br&gt;
125&lt;br&gt;
126&lt;br&gt;
127&lt;br&gt;
128&lt;br&gt;
129&lt;br&gt;
130&lt;br&gt;
131&lt;br&gt;
132&lt;br&gt;
133&lt;br&gt;
134&lt;br&gt;
135&lt;br&gt;
136&lt;br&gt;
137&lt;br&gt;
138&lt;br&gt;
139&lt;br&gt;
140&lt;br&gt;
141&lt;br&gt;
142&lt;br&gt;
143&lt;br&gt;
144&lt;br&gt;
145&lt;br&gt;
146&lt;br&gt;
147&lt;br&gt;
148&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td valign=top nowrap&gt;
&lt;div style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Consolas,Lucida Console; BACKGROUND: #fcfcfc; FONT-SIZE: 10pt; PADDING-TOP: 5px"&gt;&lt;span style="COLOR: #006400"&gt;################################################################################&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## WinDbg.psm1&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Automate WinDbg with PowerShell scripting&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## To use:&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## In WinDbg, set up a server: .server tcp:Port=10456&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## In PowerShell&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Import-Module windbg&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Connect-Windbg -remote "tcp:Port=10456,Server=&amp;lt;server&amp;gt;"&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Other remote connection strings / protocols work,
too.&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## For local kernel debugging:&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Import-Module Windbg -ArgumentList 'C:\&amp;lt;path&amp;gt;\kd.exe'&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Connect-Windbg -ArgumentList "-kl"&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Invoke-WindbgCommand "!process"&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Cleaning up:&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Disconnect-Windbg&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;##&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;################################################################################&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;param&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$cdbPath&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"C:\Program
Files\Debugging Tools for Windows\cdb.exe"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$null&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:currentConnection&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$null&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Connect to a windbg remote session&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Connect-Windbg&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;param&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #add8e6"&gt;Parameter&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;ParameterSetName&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Remote"&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Mandatory&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$true&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$remote&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;[&lt;/span&gt;&lt;span style="COLOR: #add8e6"&gt;Parameter&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;ParameterSetName&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"ArgumentList"&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;,&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Mandatory&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$true&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;]&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$argumentList&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:currentConnection&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-and&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:currentConnection&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-ne&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$remote&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;throw&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"Already
connected to $remote. Use Disconnect-Windbg, "&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"then
connect to another instance."&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #006400"&gt;##
Launch cdb.exe, the command-line version of WinDbg.&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #006400"&gt;##
Take control of its input and output streams, which we'll use&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #006400"&gt;##
to capture commands and their output.&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:currentConnection&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;New-Object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;System.Diagnostics.ProcessStartInfo&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;FileName&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$cdbPath&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;WorkingDirectory&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Get-Location&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Path&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$remote&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Arguments&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8b0000"&gt;"-remote
$remote"&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;else&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Arguments&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$argumentList&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;UseShellExecute&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$false&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;RedirectStandardInput&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$true&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;RedirectStandardOutput&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$true&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;[System.Diagnostics.Process]&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;::&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Start&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$processStartInfo&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:currentConnection&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$remote&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;return&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #006400"&gt;##
Ignore the stuff that was in the session before we&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #006400"&gt;##
connected&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;Receive-WindbgOutput&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #006400"&gt;## Disconnect from the session&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #00008b"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #8a2be2"&gt;Disconnect-Windbg&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #00008b"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-and&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;-not&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;HasExited&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;StandardOutput&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Close&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;StandardInput&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Close&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:windbgProcess&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Kill&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$SCRIPT:currentConnection&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #a9a9a9"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff4500"&gt;$