<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.itecn.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ghjconan's blog</title><link>http://blogs.itecn.net/blogs/ghjconan/default.aspx</link><description>再接再厉</description><dc:language>zh-CHS</dc:language><generator>CommunityServer 2.1 SP2 (Debug Build: 61120.2)</generator><item><title>Windows PowerShell每周提示(42)：在通知区域显示一条消息</title><link>http://blogs.itecn.net/blogs/ghjconan/archive/2008/08/17/windows-powershell-42.aspx</link><pubDate>Sun, 17 Aug 2008 11:32:34 GMT</pubDate><guid isPermaLink="false">5988ba68-051b-4da5-927e-d2d621e79dbb:47926</guid><dc:creator>ghjconan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.itecn.net/blogs/ghjconan/comments/47926.aspx</comments><wfw:commentRss>http://blogs.itecn.net/blogs/ghjconan/commentrss.aspx?PostID=47926</wfw:commentRss><description>&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;老实说，当脚本作家处理组成&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Windows&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;界面的图形用户元素时经常上当受骗。无可否认编写&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;VBScritpt&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;的人在使用&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;HTA&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;（&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;HTML&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;应用程序）时做了很多酷事。然而，&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;HTA&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;限制了能在&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Web&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;页面中使用的控件及用户界面元素。正如&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;HTA&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;有可能达到的酷那样，这些程序（及编写他们的人）还没有能够涉及到在羽翼丰满的编程语言中真正酷的用户界面元素。&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;例如，脚本专家经常被问及编写&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;VBscript&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;的人如何在通知区域（位于屏幕右下角的小区域，操作系统及程序的消息经常会在这里出现）显示一条消息。每一次被问及此问题时，我们的回答总是一样的：抱歉，无法实现。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;噢，如果编写&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Windows PowerShell&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;脚本的人问起同样问题的话&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;怎么了？为什么我们希望编写&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Windows PowerShell&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;脚本的人询问这个问题？这很简单：因为，这样的话，我们会有一个比较好的回答。事实证明，你能使用&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;.NET Framework&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;在通知区域内显示消息。因为&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Windows PowerShell&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;能完全访问&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;.NET Framework&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;，这就意味着你能在通知区域内显示消息。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;不，我们没有在开玩笑。真的能使用&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Windows PowerShell&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;在通知区域内显示消息。如果你不能的话，我们就不会毫无理由的将类似以下的脚本放在此处：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-shading:windowtext;mso-pattern:gray-5 auto;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;[void] [System.Reflection.Assembly]::LoadWithPartialName(&amp;quot;System.Windows.Forms&amp;quot;)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon = New-Object System.Windows.Forms.NotifyIcon              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.Icon = &amp;quot;C:\Scripts\Forms\Folder.ico&amp;quot;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipIcon = &amp;quot;Error&amp;quot;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipText = &amp;quot;A file needed to complete the operation could not be found.&amp;quot;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipTitle = &amp;quot;File Not Found&amp;quot;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.Visible = $True              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.ShowBalloonTip(10000)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;让我们证明下这个脚本是如何工作的，并让你知道如何在你的自己脚本中使用这些代码。最开始，我们使用以下这行代码来加载&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;.NET Framework&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;类&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt; &lt;b&gt;&lt;span&gt;System.Windows.Forms&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;的一个实例：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-shading:windowtext;mso-pattern:gray-5 auto;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;[void] [System.Reflection.Assembly]::LoadWithPartialName(&amp;quot;System.Windows.Forms&amp;quot;)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;如果万一你对这行代码开始处的&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;[void]&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;感到疑惑的话，那么它的作用只是避免在加载&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;System.Windows.Form&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;类时出现状态信息。如果不使用&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;[void]&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;，那么当我们每次运行脚本时将看到以下信息：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-shading:windowtext;mso-pattern:gray-5 auto;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;GAC Version Location--- ------- --------True v2.0.50727 C:\WINDOWS\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.For...&lt;/span&gt;&lt;span style="font-size:8.5pt;line-height:140%;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;不管这信息对你而言是否值得一读，只是我们真的不需要每次运行脚本都显示该这信息。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;在加载&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;System.Windows.Forms&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;类以后我们使用&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;New-Object&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt; cmdlet&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;来创建&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;System.Windows.Forms.NotifyIcon&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;类的实例。如你猜测的那样，这是让我们可以配置及在通知区域显示信息的&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;.NET&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;类。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-shading:windowtext;mso-pattern:gray-5 auto;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon = New-Object System.Windows.Forms.NotifyIcon             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;接下来我们需要定义通知的几个属性。尤其是，我们需要对以下项目赋值：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="border-right:medium none;border-top:medium none;border-left:medium none;border-bottom:#cccccc 1pt solid;mso-yfti-tbllook:1184;mso-padding-alt:0cm 0cm 0cm 0cm;mso-cellspacing:0cm;mso-border-bottom-alt:solid #cccccc .75pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;       &lt;td style="border-right:medium none;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;属性&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-right:#cccccc 1pt solid;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;mso-border-right-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;描述&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;        &lt;tr style="mso-yfti-irow:1;"&gt;       &lt;td style="border-right:medium none;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;background:#e9e9e6;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;Icon             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-right:#cccccc 1pt solid;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;background:#e9e9e6;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;mso-border-right-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;这是在通知区域出现的图标。图标必须为&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;16&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;像素宽&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;16&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;像素高。如果你有图标编辑软件那么你能自己创建图标，如果你没有的话那么在你的计算机（或者互联网）上搜索&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;.ICO&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;文件。请确保在你对&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;Icon&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;属性赋值时你指定了完整路径：&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.Icon = &amp;quot;C:\Scripts\Forms\Folder.ico&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow:2;"&gt;       &lt;td style="border-right:medium none;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;BalloonTipIcon             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-right:#cccccc 1pt solid;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;mso-border-right-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;这是在通知内显示的图标（看下面的插图）。你能在以下有操作系统提供的图标中选择：&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;Info&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;、&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;Warning&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;及&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;Error&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;。在我们的例子中，我们将&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;BalloonTipIcon&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;设置为&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;Error&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;。&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow:3;"&gt;       &lt;td style="border-right:medium none;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;background:#e9e9e6;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;BalloonTipText             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-right:#cccccc 1pt solid;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;background:#e9e9e6;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;mso-border-right-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;真正被显示的信息。对这个脚本而言我们将&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;BalloonTipText&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;设置为&amp;#8220;&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;A file needed to complete the operation could not be found.&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;&amp;#8221;&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow:4;mso-yfti-lastrow:yes;"&gt;       &lt;td style="border-right:medium none;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;BalloonTipTitle             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-right:#cccccc 1pt solid;padding-right:3.75pt;border-top:#cccccc 1pt solid;padding-left:3.75pt;padding-bottom:3.75pt;border-left:#cccccc 1pt solid;padding-top:3.75pt;border-bottom:medium none;mso-border-top-alt:solid #cccccc .75pt;mso-border-left-alt:solid #cccccc .75pt;mso-border-right-alt:solid #cccccc .75pt;"&gt;         &lt;p class="MsoNormal" style="line-height:140%;text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;通知的标题。例如，&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;File Not Found&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;mso-bidi-font-weight:bold;"&gt;。&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;line-height:140%;text-align:left;mso-char-indent-count:2.0;mso-pagination:widow-orphan;" align="left"&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;更形象的来说是这样：&lt;/span&gt;&lt;span style="font-size:10pt;line-height:140%;mso-bidi-font-size:8.5pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:left;mso-pagination:widow-orphan;" align="left"&gt;&lt;img src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/topics/winpsh/notify1.jpg" /&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;无论相信与否，我们几乎已经完成了。在设置&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;Visible&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性为真（&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;$True&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;）后，我们要做的是调用&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;ShowBalloonTip&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;方法来显示通知：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-shading:windowtext;mso-pattern:gray-5 auto;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;$objNotifyIcon.ShowBalloonTip(10000)&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;有几个关于&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;ShowBalloonTip&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;方法的注意事项。一件事是，你注意到我们向&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;ShowBallonTip&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;传递了&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;10000&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;这个参数了么？好的，理论上，这数字表明了我们想要通知在自动消失之前在屏幕上停留的时间。因为一秒由&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;1000&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;毫秒组成，&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;10000&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;这这意味着，理论上，我们想要通知在屏幕上停留&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;10&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;秒，然后匆匆道别。这看上去很简单。那么为什么我们要说&amp;#8220;理论上&amp;#8221;？这是因为受到一些外部因素影响。例如，当在通知区域显示通知时，操作系统加上了相关限制。通常来说，通知必须在屏幕上停留至少&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;10&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;秒但不超过&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;30&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;秒。这是什么意思？让我们这样解释：假设你向&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;ShowBalloonTip&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;传递了&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;300000&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;这个参数值，认为这将使通知在屏幕上显示&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;5&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;分钟（&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;300000&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;毫秒）。尽管实际上，通知在屏幕上不会待那么久。操作系统将会在这之前打断它。同样的，如果你将参数设为&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;1&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，并认为通知将在屏幕上显示&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;1&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;毫秒然后消失。这也将不会正常运行：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;Windows&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;将会确保通知消失之前已经显示了允许显示时间的最小值。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;不仅是这样，时间也取决于在计算机上正在发生的活动。如果系统处于空闲状态，那么倒计时将不会开始直到发生了一些活动行为。在这种情况下，通知可能在显示了几小时后才会消失。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="border-right:medium none;border-top:medium none;border-left:medium none;border-bottom:medium none;border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-alt:solid #d9d9d9 .75pt;mso-border-insideh:.75pt solid #d9d9d9;mso-border-insidev:.75pt solid #d9d9d9;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="border-right:#d9d9d9 1pt solid;padding-right:5.4pt;border-top:#d9d9d9 1pt solid;padding-left:5.4pt;padding-bottom:0cm;border-left:#d9d9d9 1pt solid;width:426.1pt;padding-top:0cm;border-bottom:#d9d9d9 1pt solid;mso-border-alt:solid #d9d9d9 .75pt;"&gt;         &lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;注意.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;当然你能通过点击来结束一个通知。也就是说，我们应当指出，任何超时了的通知将会消失，但是图标将仍然显示在通知区域，知道你的鼠标划过该区域。然后，如果你通过点击关闭了通知那么图标也会消失。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;不管通知将会在屏幕上停留多少时间，它看上去都像是这样的：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;img src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/topics/winpsh/notify2.jpg" /&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;不坏吧？&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;另一件需要记住的是，在通知显示期间，你的脚本将继续运行。脚本不会自动暂停来等待通知消失。这应当没什么问题，只是你应当注意。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;下面是一个酷提示：你能在任意时间改变通知。例如，下面有一个脚本来显示文件正在从&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;C:\Windows&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;文件夹中提取的通知。一旦&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Get-ChildItem&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;完成了收集文件的工作，&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;BalloonTipText&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;及&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;BalloonTipTitle&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;属性将被更新，来说明文件已经提取完成。当&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Visible&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;属性设为真并且&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;ShowBallonTip&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;方法被调用时，这个&amp;#8220;新的&amp;#8221;通知将会替代前一个通知。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;下面是代码：&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-shading:windowtext;mso-pattern:gray-5 auto;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;[void] [System.Reflection.Assembly]::LoadWithPartialName(&amp;quot;System.Windows.Forms&amp;quot;)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon = New-Object System.Windows.Forms.NotifyIcon              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.Icon = &amp;quot;C:\Scripts\Forms\Folder.ico&amp;quot;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipIcon = &amp;quot;Info&amp;quot;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipText = &amp;quot;Retrieving files from C:\Windows.&amp;quot;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipTitle = &amp;quot;Retrieving Files&amp;quot;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.Visible = $True              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.ShowBalloonTip(10000)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;Get-ChildItem C:\Windows             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipText = &amp;quot;The script has finished running.&amp;quot;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.BalloonTipTitle = &amp;quot;Files retrieved.&amp;quot;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.Visible = $True              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;$objNotifyIcon.ShowBalloonTip(10000)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;这是编写系统管理脚本的人几年来梦寐以求的事。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-font-kerning:0pt;"&gt;本周的专栏也到此结束了。脚本编辑已经等得不耐烦了，并在想我们到底什么时候将本文交付编辑。别担心，脚本编辑，我们刚想这么做。&lt;/span&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-font-kerning:0pt;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:10pt;mso-bidi-font-size:11.0pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-family:'Times New Roman';mso-ansi-language:en-us;mso-fareast-language:zh-cn;mso-bidi-language:ar-sa;"&gt;下周见。&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;英文原文&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/technet/scriptcenter/resources/pstips/may08/pstip0523.mspx" href="http://www.microsoft.com/technet/scriptcenter/resources/pstips/may08/pstip0523.mspx"&gt;http://www.microsoft.com/technet/scriptcenter/resources/pstips/may08/pstip0523.mspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.itecn.net/aggbug.aspx?PostID=47926" width="1" height="1"&gt;</description><category domain="http://blogs.itecn.net/blogs/ghjconan/archive/tags/Weekly+Windows+PowerShell+Tips/default.aspx">Weekly Windows PowerShell Tips</category></item><item><title>PowerShell学习笔记（13）：UC时代的用户对象创建（下）</title><link>http://blogs.itecn.net/blogs/ghjconan/archive/2008/08/05/powershell-13-uc.aspx</link><pubDate>Tue, 05 Aug 2008 14:14:25 GMT</pubDate><guid isPermaLink="false">5988ba68-051b-4da5-927e-d2d621e79dbb:47268</guid><dc:creator>ghjconan</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.itecn.net/blogs/ghjconan/comments/47268.aspx</comments><wfw:commentRss>http://blogs.itecn.net/blogs/ghjconan/commentrss.aspx?PostID=47268</wfw:commentRss><description>&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;&lt;span style="font-size:10pt;font-family:;"&gt;&lt;strong&gt;第三节 统一开启帐号的实现&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;在上一节中，我们已经实现了了组织架构树，主要目的是方便帐号管理员通过图形界面来选择新建帐号所在&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，而不需要手动输入长串的&lt;/span&gt;&lt;span&gt;DN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。在本节中我们将利用相关&lt;/span&gt;&lt;span&gt;Cmdlets&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;实现帐号的开启。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:10pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-family:'Times New Roman';mso-font-kerning:1.0pt;mso-ansi-language:en-us;mso-fareast-language:zh-cn;mso-bidi-language:ar-sa;"&gt;下面让我们先来看看代码，然后再分析具体代码的作用：&lt;/span&gt; &lt;/p&gt;  &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:100px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;   &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;height:300px;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt; CreateUser 
{
    $objForm.Cursor = &lt;span style="color:#006080;"&gt;&amp;quot;WaitCursor&amp;quot;&lt;/span&gt;
    $objUDN = $objTxtUserDisplayName.Text
    $objUPN = $objTxtUserPrincipalName.Text
    $objUserTitle = $objTxtUserTitle.Text
    $objUserDep = $objTxtUserOU.Text
    $objUserTel = $objTxtUserTel.Text
    $objUserSN = $objTxtUserStaffNum.Text
    $objSAM = $objUPN.split(&lt;span style="color:#006080;"&gt;&amp;quot;@&amp;quot;&lt;/span&gt;)[0]
    $objSN = $objUDN.SubString(0,1)
    $objGN = $objUDN.SubString(1)
    $objCenter = $objTxtUserCenter.Text    
    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; ($objCenter &lt;span style="color:#cc6633;"&gt;-eq&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)
    {
        [Windows.Forms.Messagebox]::Show(&lt;span style="color:#006080;"&gt;&amp;quot;必须设置用户所在中心!&amp;quot;&lt;/span&gt;,&lt;span style="color:#006080;"&gt;&amp;quot;警告&amp;quot;&lt;/span&gt;, [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Warning)
    }
    &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;
    {
        $objInfo = &lt;span style="color:#006080;"&gt;&amp;quot;用户显示名：$objUDN`n用户登录名：$objUPN`n职务：$objUserTitle`n部门：$objUserDep`n电话：$objUserTel`n工号：$objUserSN`n所在中心：$objCenter&amp;quot;&lt;/span&gt;
        $objReturn = [Windows.Forms.Messagebox]::Show($objInfo,&lt;span style="color:#006080;"&gt;&amp;quot;新建帐号&amp;quot;&lt;/span&gt;, [Windows.Forms.MessageBoxButtons]::OKCancel, [Windows.Forms.MessageBoxIcon]::Information)
    }
    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; ($objReturn &lt;span style="color:#cc6633;"&gt;-eq&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;OK&amp;quot;&lt;/span&gt;)
    {
        New-QADUser -ParentContainer $objCurrentOUDN -Name $objUDN `
        -UserPrincipalName $objUPN -SamAccountName $objSAM `
        -Company &lt;span style="color:#006080;"&gt;&amp;quot;Contoso&amp;quot;&lt;/span&gt; `
        -UserPassword &lt;span style="color:#006080;"&gt;'abcd@123'&lt;/span&gt; -Title $objUserTitle -Department $objUserDep `
        -telephoneNumber $objUserTel -ObjectAttributes @{employeeID = $objUSN; `
        userWorkstations = &lt;span style="color:#006080;"&gt;&amp;quot;Contoso-$objUserTel&amp;quot;&lt;/span&gt;; `
        displayname=$objUDN;sn=$objSN;givenName=$objGN}                
        Enable-QADUser &lt;span style="color:#006080;"&gt;&amp;quot;contoso\$objSAM&amp;quot;&lt;/span&gt;
        Set-QADUser -Identity &lt;span style="color:#006080;"&gt;&amp;quot;contoso\$objSAM&amp;quot;&lt;/span&gt; -UserMustChangePassword $True
        $objUserDN = (Get-QADUser $objSAM).DN
        $colGroups = Get-QADGroup $objCenter.SubString(0,2)
        &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; ($objGroup &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; $colGroups)
        {
            Add-QADGroupMember -Identity $objGroup.DN -Member $objUserDN
        }                
        Enable-Mailbox     -Identity $objUserDN -Alias $objSAM -Database &lt;span style="color:#006080;"&gt;'MailServer\First Storage Group\Mailbox Database'&lt;/span&gt;
        &lt;span style="color:#008000;"&gt;#Enable OC&lt;/span&gt;
        Set-QADUser -Identity $objUserDN -ObjectAttributes @{&lt;span style="color:#006080;"&gt;&amp;quot;msRTCSIP-ArchivingEnabled&amp;quot;&lt;/span&gt;=2;&lt;span style="color:#006080;"&gt;&amp;quot;msRTCSIP-OptionFlags&amp;quot;&lt;/span&gt;=320;`
        &lt;span style="color:#006080;"&gt;&amp;quot;msRTCSIP-PrimaryHomeServer&amp;quot;&lt;/span&gt;=&lt;span style="color:#006080;"&gt;&amp;quot;CN=LC Services,CN=Microsoft,CN=pool,CN=Pools,CN=RTC Service,CN=Microsoft,CN=System,DC=contoso,DC=com&amp;quot;&lt;/span&gt;;`
        &lt;span style="color:#006080;"&gt;&amp;quot;msRTCSIP-PrimaryUserAddress&amp;quot;&lt;/span&gt;=&lt;span style="color:#006080;"&gt;&amp;quot;sip:$objUPN&amp;quot;&lt;/span&gt;;&lt;span style="color:#006080;"&gt;&amp;quot;msRTCSIP-UserEnabled&amp;quot;&lt;/span&gt;=$True}
        $objTxtUserDisplayName.Text = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
        $objTxtUserPrincipalName.Text = &lt;span style="color:#006080;"&gt;&amp;quot;@contoso.com&amp;quot;&lt;/span&gt;
        $objTxtUserTitle.Text = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
        $objTxtUserTel.Text = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
        $objTxtUserStaffNum.Text = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
        $objTxtUserCenter.Text = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
        $objTxtUserOU.Text = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
        $objForm.Cursor = &lt;span style="color:#006080;"&gt;&amp;quot;Default&amp;quot;&lt;/span&gt;
    }
    &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;
    {
        $objForm.Cursor = &lt;span style="color:#006080;"&gt;&amp;quot;Default&amp;quot;&lt;/span&gt;
    }
}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;在代码的最开始我们将窗体的&lt;/span&gt;&lt;span&gt;Cursor&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性设置为&amp;#8220;&lt;/span&gt;&lt;span&gt;WaitCursor&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;&amp;#8221;，具体作用就是让鼠标呈现忙碌状态，这是用户很熟悉的一种操作体验。接着我们将文本控件的值赋值给变量，供后续调用。这里需要注意的是&lt;/span&gt;&lt;span&gt;Split&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;和&lt;/span&gt;&lt;span&gt;SubString&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;两个方法。因为我们的图形界面让用户输入了比较少量的信息，但这些信息对于创建一个普通的用户帐号而言还是有所欠缺的，因此需要使用一定方法从已知信息中得到我们想要的信息。而示例中&lt;/span&gt;&lt;span&gt;Split&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的作用是从&lt;/span&gt;&lt;span&gt;UserPrincipalName&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的属性值中分离出&lt;/span&gt;&lt;span&gt;sAMAccountName&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的属性值，说穿了就是&lt;/span&gt;&lt;span&gt;@&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;前面的部分，即我们平时登录域时所使用的帐号。而&lt;/span&gt;&lt;span&gt;SubString&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的作用与&lt;/span&gt;&lt;span&gt;VBScript&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;中的&lt;/span&gt;&lt;span&gt;Left&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，&lt;/span&gt;&lt;span&gt;Right&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;和&lt;/span&gt;&lt;span&gt;Mid&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;方法类似&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;示例代码中的作用是从显示名中分离出姓和名（对应的&lt;/span&gt;&lt;span&gt;AD&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性名分别是&lt;/span&gt;&lt;span&gt;sn&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;和&lt;/span&gt;&lt;span&gt;givenName&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;）。接着为了防止用户没有从左侧树形结构中选择新建用户所在&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，我们需要使用判断语句来处理这个可能发生的错误并提醒用户。如果发生错误，那么将会出现以下提示：&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;img src="http://byfiles.storage.msn.com/y1p-uzNOD-BtTRdOlEQFgR3tbiwUKaqYOtV6IH6DBv403gY98sfZYALAOgy99tyTv7r?PARTNER=WRITER" /&gt; &lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;利用&lt;/span&gt;&lt;span&gt;MessageBox&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;我们可以很轻松的弹出&lt;/span&gt;&lt;span&gt;Windows&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;下的标准信息框，不过比较可惜的是&lt;/span&gt;&lt;span&gt;MessageBox&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;是&lt;/span&gt;&lt;span&gt;&lt;a href="http://msdn.microsoft.com/zh-cn/library/system.windows.forms.messagebox(VS.80).aspx"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;&lt;span&gt;无法被实例化&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的，也就是说你想用&lt;/span&gt;&lt;span&gt;$MsgBox&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;来替代&lt;/span&gt;&lt;span&gt;[Windows.Forms.Messagebox]&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;是无法实现的。只能使用示例代码中的方法来调用。如果输入信息没有问题的话，还是会出现一个消息框提示用户核对输入信息：&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;img src="http://byfiles.storage.msn.com/y1pMdIukpEKcGKu953CdcZOKKb4f_cC6TgDIQ9v2vSxsx3aaKQ8y6B4uwUtrYbUAIR8?PARTNER=WRITER" /&gt; &lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;这里需要注意的是我首先将显示内容保存到变量之中，之间的换行使用&lt;/span&gt;&lt;span&gt;`n&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;实现。&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;接着我们要根据使用者具体点击了哪个按钮进行判断。如果是确定，那么就执行添加用户的代码，如果是取消那么要将鼠标恢复成默认状态。那么让我们着重看一下添加用户的代码。其实利用&lt;/span&gt;&lt;span&gt;New-QADUser cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的话新建帐号并不是难事，只要将参数和参数值一一对应即可。相关参数也是非常明了的，比如&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;-ParentContainer&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;指的就是用户所在&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;-Name&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;对应的是&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;AD&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;中的&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;cn&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;属性，&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;-UserPassword&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;参数为用户设置密码（想必厌恶在&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;ADUC&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;中为新建帐号两次输入密码的人不在少数吧？这次我们更省力，只要在写代码的时候输入一遍就可以了）。不过&lt;/span&gt;&lt;span&gt;New-QADUser cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;本身并不会附带上&lt;/span&gt;&lt;span&gt;AD&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;中所有属性名的参数，因为这会使得&lt;/span&gt;&lt;span&gt;cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的参数列表十分复杂。因此&lt;/span&gt;&lt;span&gt;Quest&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的开发人员定义了&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;-ObjectAttributes&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;参数，允许我们使用哈希表来定义属性。我这里使用该参数定义了工号，显示名，姓和名，以及用户允许登录到的工作站（假设工作站的命名规则是以字符串&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;Contoso-&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;后跟四位电话分机号实现的）。&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;然后我们使用&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;Enable-QADUser cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;启用用户帐号并用&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;Set-QADUser cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;与&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;-UserMustChangePassword&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;参数使得用户下次登录时必须更改密码。到这里新建域账号的工作就所剩无几了，最后我们要做的是将用户添加到相关的组中。在说明代码之前我们先假设一个前提，即我们的环境中为不同的中心建立了两个组，一个是&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;AD&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;用户组，另外一个是&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;Exchange&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;的联系人组。两者的&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;CN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;相同，但是&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;sAMAccountName&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-style:italic;"&gt;不同，如图所示：&lt;/span&gt;&lt;span style="mso-bidi-font-style:italic;"&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:left;" align="left"&gt;&lt;img src="http://uywrhg.bay.livefilestore.com/y1pr4HVlYUyCCaCB-quyTIrBRoLm-izGwPf8b0xb7SK4FoVSwc3nHY55Sfjral5epU8Iz2HJkwlwLM?PARTNER=WRITER" /&gt; &lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;再为用户添加组之前，我们首先要取得新建用户的&lt;/span&gt;&lt;span&gt;DN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。然后根据用户的选择检索相关的&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;对象。因为环境决定了用户必定会添加到两个组，因此我们得到的结果将是一个数组。所以我们使用&lt;/span&gt;&lt;span&gt;foreach&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;循环遍历这个数组得到其中每个组的&lt;/span&gt;&lt;span&gt;DN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性，然后使用&lt;/span&gt;&lt;span&gt;Add-QADGroupMember cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;来将用户添加到组里面。支持新建域账号的代码就结束了，这是新建帐号中最复杂的一部分。&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;启用邮箱就很简单了，了解&lt;/span&gt;&lt;span&gt;Exchange 2007&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的朋友都知道我们当我们使用&lt;/span&gt;&lt;span&gt;MMC&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;启用邮箱时，最后向导都会给出使用&lt;/span&gt;&lt;span&gt;PowerShell&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;开启邮箱的命令，我们只需利用这个命令即可。所要做的只是将其中的参数值利用变量进行替换。总的来说启用邮箱并不难。&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;接着轮到启用&lt;/span&gt;&lt;span&gt;OCS&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;帐号了。也许大家曾今和我一样把这件事想的很复杂，因为&lt;/span&gt;&lt;span&gt;Resource Kit&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;里面有一个脚本来启用&lt;/span&gt;&lt;span&gt;OCS&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;帐号，而这个脚本非常复杂，事实上这个脚本是自&lt;/span&gt;&lt;span&gt;LCS&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;时代沿袭过来的，那么都到&lt;/span&gt;&lt;span&gt;UC&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;时代了，有没有简单点的方法呢？产品组自然考虑的很周到，我们只需要设置用户的几个&lt;/span&gt;&lt;span&gt;AD&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性即可，使用的&lt;/span&gt;&lt;span&gt;cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;同样是&lt;/span&gt;&lt;span&gt;Set-QADUser&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。相关资料诸位可以阅读&lt;/span&gt;&lt;span&gt;OCS_ADGuide&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;文档中的&lt;/span&gt;&lt;span&gt;Active Directory&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性部分的内容。这涉及到具体的部署环境，在我所处的实际生产环境中，我们为用户启用了聊天记录存档，因此需要将&lt;/span&gt;&lt;span&gt;msRTCSIP-ArchivingEnabled&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性值设为&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，也就是存档内部通信。而&lt;/span&gt;&lt;span&gt;msRTCSIP-OptionFlags&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;则是几个设置的叠加。比如我们允许用户邀请匿名用户加入会议并启用了增强状态，那么其结果就是&lt;/span&gt;&lt;span&gt;64+256=320&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。（插一句，有可能诸位下到的中文文档将&lt;/span&gt;&lt;span&gt;256&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;代表的&lt;/span&gt;&lt;span&gt;EnabledForEnhancedPresence&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;翻译成了允许用户使用公共&lt;/span&gt;&lt;span&gt; IM &lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;连接，这个翻译是错误的。）接着我们要添加用户所在的池的&lt;/span&gt;&lt;span&gt;FQDN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，其对应的属性是&lt;/span&gt;&lt;span&gt;msRTCSIP-PrimaryHomeServer&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，该值需要查阅你的具体环境中的相关值。然后是用户的&lt;/span&gt;&lt;span&gt;SIP&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;地址，因为环境中&lt;/span&gt;&lt;span&gt;UPN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;地址和邮件地址相同，我们就直接使用已知的&lt;/span&gt;&lt;span&gt;UPN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;值。最后我们为用户启用&lt;/span&gt;&lt;span&gt;OCS&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;帐号，其对应的是属性为&lt;/span&gt;&lt;span&gt;msRTCSIP-UserEnabled&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。至此，&lt;/span&gt;&lt;span&gt;OCS&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;帐号的启用也顺利完成了。接着我们进行扫尾工作，将文本框的内容清空（代表&lt;/span&gt;&lt;span&gt;UPN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的文本框则保留域的名称，方便用户再次新建帐号），最后将鼠标恢复成默认状态。&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;新建帐号的工作大致算是完成了，但是为了避免用户的一些输入错误，我们还需要添加辅助代码来避免输入错误的发生。首先我们想要实现这样一个功能，当文本框内的内容为空时给用户一定提示，但并非强制用户必须输入相关内容。以下是代码：&lt;/span&gt;&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt; CheckTextBox($InputObject)
{
    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; ($InputObject.Text &lt;span style="color:#cc6633;"&gt;-eq&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;) 
    {
        $InputObject.BackColor = &lt;span style="color:#006080;"&gt;&amp;quot;LightCoral&amp;quot;&lt;/span&gt;
    }
    &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;
    {
        $InputObject.BackColor = &lt;span style="color:#006080;"&gt;&amp;quot;White&amp;quot;&lt;/span&gt;
    }
}&lt;/pre&gt;
&lt;/div&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;代码非常简单，当检测到文本框为空时，将该文本框的背景色设置为&lt;/span&gt;&lt;span&gt;LightCoral&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，其效果如下图所示：&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;img src="http://uywrhg.bay.livefilestore.com/y1pwp68XQ72ACVcRe7YHYx7AndO_Vd_-jheooZ2WhCKe8tbdRI0NiSHHb3eMwzlRJ0pg3TxHzUKcwVC9Sqz1PUo0g?PARTNER=WRITER" /&gt; &lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;因为我们想要使该函数在输入焦点离开当前文本框时生效，所以我们添加了以下代码：&lt;/span&gt;&lt;/p&gt;

&lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;
    &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;
      &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;
        &lt;p class="MsoNormal"&gt;&lt;span style="color:purple;mso-bidi-font-family:verdana;mso-font-kerning:0pt;"&gt;$objTxtUserDisplayName&lt;/span&gt;&lt;span style="color:black;mso-bidi-font-family:verdana;mso-font-kerning:0pt;"&gt;.Add_Leave({&lt;/span&gt;&lt;span style="color:cadetblue;mso-bidi-font-family:verdana;mso-font-kerning:0pt;"&gt;CheckTextBox&lt;/span&gt;&lt;span style="color:black;mso-bidi-font-family:verdana;mso-font-kerning:0pt;"&gt;(&lt;/span&gt;&lt;span style="color:purple;mso-bidi-font-family:verdana;mso-font-kerning:0pt;"&gt;$objTxtUserDisplayName&lt;/span&gt;&lt;span style="color:black;mso-bidi-font-family:verdana;mso-font-kerning:0pt;"&gt;)})&lt;/span&gt;&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;接下来我们要重点检查用户登录名，还是先放上代码：&lt;/span&gt;&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt; CheckUPN 
{
    $objTemp = $objTxtUserPrincipalName.Text
    $objChkResult = [regex]::Match($objTemp,&lt;span style="color:#006080;"&gt;&amp;quot;\w+@contoso.com&amp;quot;&lt;/span&gt;)
    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; ($objChkResult.Success &lt;span style="color:#cc6633;"&gt;-eq&lt;/span&gt; $true)
    {
        $objChkUser = Get-QADUser $objTemp
        &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; ($objChkUser &lt;span style="color:#cc6633;"&gt;-ne&lt;/span&gt; $null) 
        {
            [Windows.Forms.Messagebox]::Show(&lt;span style="color:#006080;"&gt;&amp;quot;该用户名已存在，请重新输入！&amp;quot;&lt;/span&gt;,&lt;span style="color:#006080;"&gt;&amp;quot;错误&amp;quot;&lt;/span&gt;, [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Stop)
            $objTxtUserPrincipalName.Focus()
            $objTxtUserPrincipalName.SelectAll()
        }            
    }
    &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;
    {
        [Windows.Forms.Messagebox]::Show(&lt;span style="color:#006080;"&gt;&amp;quot;用户名错误，请重新输入！&amp;quot;&lt;/span&gt;,&lt;span style="color:#006080;"&gt;&amp;quot;错误&amp;quot;&lt;/span&gt;, [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Stop)
        $objTxtUserPrincipalName.Focus()
        $objTxtUserPrincipalName.SelectAll()
    }&lt;/pre&gt;
&lt;/div&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;在代码开始，我们首先需要获得用户输入的信息，然后将其存放在名为&lt;/span&gt;&lt;span&gt;$objTemp&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的变量中。然后利用正则表达式（&lt;/span&gt;&lt;span&gt;[regex],代码中使用的还是很简单的一种&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;表达式）对输入信息进行检查，并将检查结果存放在相关变量中。一旦用户输入了错误的信息我们使用&lt;/span&gt;&lt;span&gt;MessageBox&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;弹出提示，然后为用户全选文本框内的用户名方便用户重新输入正确信息。而即便用户输入的信息正确，我们也需要检查用户输入的用户名是否已存在，如果已存在那么还是需要用户重新输入信息。&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;同样，为了使函数生效，我们需要添加以下代码：&lt;/span&gt;&lt;/p&gt;

&lt;table class="MsoNormalTable" style="background:#f2f2f2;border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;
    &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;
      &lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;
        &lt;p class="MsoNormal" style="layout-grid-mode:char;"&gt;&lt;span style="color:purple;font-family:;"&gt;$objTxtUserPrincipalName&lt;/span&gt;&lt;span style="color:black;font-family:;"&gt;.Add_Leave({&lt;/span&gt;&lt;span style="color:cadetblue;font-family:;"&gt;CheckTextBox&lt;/span&gt;&lt;span style="color:black;font-family:;"&gt;(&lt;/span&gt;&lt;span style="color:purple;font-family:;"&gt;$objTxtUserPrincipalName&lt;/span&gt;&lt;span style="color:black;font-family:;"&gt;);&lt;/span&gt;&lt;span style="color:cadetblue;font-family:;"&gt;CheckUPN&lt;/span&gt;&lt;span style="color:black;font-family:;"&gt;})&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;

        &lt;p&gt;&lt;/p&gt;

        &lt;p&gt;&lt;/p&gt;

        &lt;p&gt;&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;在第一节中我提到了，使用&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;来分隔在同一事件中所要执行的不同函数，事实上我们完全可以把文本框的检查代码写在一起，然后利用&lt;/span&gt;&lt;span&gt;switch&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;语句判断不同的文本框，这里我就不去实现相关代码了，有兴趣的朋友不妨动手试试。&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span style="font-family:;"&gt;结束语&lt;span&gt; 
      &lt;p&gt;&lt;/p&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;以上就是&lt;/span&gt;&lt;span&gt;UC&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;时代的用户帐号创建的所有内容，我个人感觉是真正的用户创建是非常简单的，因为有现成的&lt;/span&gt;&lt;span&gt;cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;来帮助我们完成。但是我在文章开头提到最终帐号的开启并不是由我负责，所以我们需要创建一个&lt;/span&gt;&lt;span&gt;GUI&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;界面来降低帐号管理员的刚接手帐号开启工作时的不适感，并尽可能简化开启的流程，这使我们不得不考虑很多问题。使用普通&lt;/span&gt;&lt;span&gt;MMC&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;开启域、邮件、&lt;/span&gt;&lt;span&gt;OCS&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;帐号可能需要几分钟的时间，而如果使用以上脚本那么这个过程可能在半分钟内就完成了。这就是&lt;/span&gt;&lt;span&gt;PowerShell&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的魅力吧。&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-family:'Times New Roman';mso-font-kerning:1.0pt;mso-ansi-language:en-us;mso-fareast-language:zh-cn;mso-bidi-language:ar-sa;"&gt;&amp;#160;&amp;#160;&amp;#160; 那么就此结束本文，向耐心读完全文的朋友表示由衷地感谢。&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;mso-bidi-font-family:'Times New Roman';mso-font-kerning:1.0pt;mso-ansi-language:en-us;mso-fareast-language:zh-cn;mso-bidi-language:ar-sa;"&gt;&lt;/span&gt;&lt;strong&gt;注：文中代码仅供交流学习使用，尚有很大改善余地。&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.itecn.net/aggbug.aspx?PostID=47268" width="1" height="1"&gt;</description><category domain="http://blogs.itecn.net/blogs/ghjconan/archive/tags/PowerShell+_147BB08B_/default.aspx">PowerShell 笔记</category></item><item><title>PowerShell学习笔记（12）：UC时代的用户对象创建（中）</title><link>http://blogs.itecn.net/blogs/ghjconan/archive/2008/08/04/windows-powershell-12-uc.aspx</link><pubDate>Mon, 04 Aug 2008 14:33:00 GMT</pubDate><guid isPermaLink="false">5988ba68-051b-4da5-927e-d2d621e79dbb:47240</guid><dc:creator>ghjconan</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.itecn.net/blogs/ghjconan/comments/47240.aspx</comments><wfw:commentRss>http://blogs.itecn.net/blogs/ghjconan/commentrss.aspx?PostID=47240</wfw:commentRss><description>&lt;h3&gt;&lt;span&gt;第二节 组织结构树的实现&lt;span&gt;        &lt;p&gt;&amp;#160;&lt;/p&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;那么在开始这一节内容之前，你需要深呼吸一下，准备面对那些很复杂的代码？不，不必这样，放轻松，没有你想象的那么复杂，因为&lt;/span&gt;&lt;span&gt;Quest&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;公司的相关&lt;/span&gt;&lt;span&gt;cmdlets&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;为我们节省了很多时间。那么先让我们来看看诸位可能比较感兴趣的组织架构树。代码如下：&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f3f3f3;border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td class="" style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormalCxSpMiddle" style="layout-grid-mode:char;text-align:left;mso-layout-grid-align:none;" align="left"&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;function&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;GetRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormalCxSpMiddle" style="layout-grid-mode:char;text-align:left;mso-layout-grid-align:none;" align="left"&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;New-Object&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;Windows.Forms.TreeNode&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNSubOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;New-Object&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;Windows.Forms.TreeNode&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;Get-QADObject&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-SearchRoot&lt;/span&gt;&lt;/i&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;'contoso.com/&lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;用户帐号&lt;span&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-LdapFilter&lt;/span&gt;&lt;/i&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;'(objectClass=organizationalUnit)'&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-SearchScope&lt;/span&gt;&lt;/i&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;OneLevel&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;foreach&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; (&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objSubOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:blue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;in&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;) &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;{ &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:3;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNSubOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Nodes.Add(&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objSubOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Name) &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:3;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNSubOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Tag &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objSubOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.DN &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;} &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Text &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;用户帐号&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Tag &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&amp;quot;ou=&lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;用户帐号&lt;span&gt;,dc=contoso,dc=com&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Expand() &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;[&lt;/span&gt;&lt;span style="color:teal;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;void&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;]&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTreeView&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Nodes.Add(&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNRootOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;) &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;有点失望？是不是比预想的要简单？呵呵，有两方面的原因，一是由于这只是获得第一层&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的代码。二是要再次感谢&lt;/span&gt;&lt;span&gt;Quest&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;公司，因为他们为我们提供了非常棒的&lt;/span&gt;&lt;span&gt;cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;：&lt;/span&gt;&lt;span&gt;Get-QADObject&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。下面让我们详细分析下代码。&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;首先我们新建了&lt;/span&gt;&lt;span&gt;Windows.Forms.TreeNode&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;类的两个新实例。之所以这样做是因为&lt;/span&gt;&lt;span&gt;$objTreeView&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;对象的&lt;/span&gt;&lt;span&gt;Nodes&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性实质上是包含了&lt;/span&gt;&lt;span&gt;TreeNode&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;对象的集合（详细信息，可以参阅&lt;/span&gt;&lt;span&gt;MSDN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的相关&lt;/span&gt;&lt;span&gt;&lt;a href="http://msdn.microsoft.com/zh-cn/library/system.windows.forms.treeview.nodes(VS.80).aspx"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;&lt;span&gt;文档&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;）。其中&lt;/span&gt;&lt;span&gt;$objTNRootOUs&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的作用是保存第一层所有&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的信息，最后将它作为&lt;/span&gt;&lt;span&gt;$objTreeView.Nodes&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性的属性值。而&lt;/span&gt;&lt;span&gt;$objTNSubOU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;则起到的是一个中介的作用，因为通过&lt;/span&gt;&lt;span&gt;$objTNRootNode.Nodes.Add($objSubOU.Name)&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;语句得到的对象类型也是&lt;/span&gt;&lt;span&gt;TreeNode&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;，我们需要将每个&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的&lt;/span&gt;&lt;span&gt;distinguishedName&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;（&lt;/span&gt;&lt;span&gt;DN&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;）保存到&lt;/span&gt;&lt;span&gt;$objTNSubOU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的&lt;/span&gt;&lt;span&gt;Tag&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性中，供&lt;/span&gt;&lt;span&gt;Get-QADobject cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的&lt;/span&gt;&lt;span&gt;SearchRoot&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;参数使用。这也解释了&lt;/span&gt;&lt;span&gt;foreach&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;循环语句的作用。接着我们再回到&lt;/span&gt;&lt;span&gt;Get-QADObject cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;那一行。这就是我们得到第一层&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;信息的核心语句。首先通过&lt;/span&gt;&lt;span&gt;SearchRoot&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;参数指定存放用户帐号&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的&lt;/span&gt;&lt;span&gt;LDAP&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;路径，然后通过&lt;/span&gt;&lt;span&gt;LdapFilter&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;参数将所有类型是组织单元的对象筛选出来，最后通过&lt;/span&gt;&lt;span&gt;SearchScope&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;参数限制&lt;/span&gt;&lt;span&gt;Get-QADObject cmdlet&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;只将第一层的&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;列出，而不是将该&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;下的所有子&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;都列出（将参数值设定为&lt;/span&gt;&lt;span&gt;Subtree&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;）。然后我们手动设置一下&lt;/span&gt;&lt;span&gt;$objTNRootNode&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;的相关属性并展开该节点，最后将它添加到&lt;/span&gt;&lt;span&gt;$objTreeView.Nodes&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;属性。最终效果就是我们刚开始运行脚本的效果：&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;img src="http://byfiles.storage.live.com/y1pvqNVouEEl1KK_1sp5GswtAnCozC9v6-oQdM1QpfEpcv8-2iGnG_KfMSz5kXRaGvU" /&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:20pt;mso-char-indent-count:2.0;"&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;下面一个问题是当用户点击树状结构中的某个节点时我们希望能展开下一层的&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。这将帮助帐号管理员确定新建用户最终是隶属于哪个&lt;/span&gt;&lt;span&gt;OU&lt;/span&gt;&lt;span style="mso-ascii-font-family:verdana;mso-hansi-font-family:verdana;"&gt;。这部分的代码如下：&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="background:#f3f3f3;border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td class="" style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;width:426.1pt;padding-top:0cm;"&gt;         &lt;p class="MsoNormalCxSpMiddle" style="layout-grid-mode:char;text-align:left;mso-layout-grid-align:none;" align="left"&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;function&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;GetSubOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNChildOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;New-Object&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;Windows.Forms.TreeNode&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objChildOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;Get-QADObject&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-SearchRoot&lt;/span&gt;&lt;/i&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTreeView&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.SelectedNode.Tag &lt;/span&gt;&lt;i&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-LdapFilter&lt;/span&gt;&lt;/i&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;'(objectClass=organizationalUnit)'&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="color:cadetblue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-SearchScope&lt;/span&gt;&lt;/i&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:maroon;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;OneLevel&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;if&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; ((&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objChildOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-ne&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$null&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;) &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-and&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; (&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTreeView&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.SelectedNode.Nodes.Count &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;-eq&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; 0) ) { &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:3;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;foreach&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; (&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objChildOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:blue;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;in&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objChildOUs&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;) &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:3;"&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; &lt;/span&gt;{ &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:4;"&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNChildOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTreeView&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.SelectedNode.Nodes.Add(&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objChildOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Name) &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:4;"&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTNChildOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Tag&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objChildOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.DN &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:3;"&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; &lt;/span&gt;} &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;} &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTxtUserOU&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.Text &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTreeView&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.SelectedNode.Text &lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormalCxSpMiddle" style="layout-grid-mode:char;text-align:left;mso-layout-grid-align:none;" align="left"&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$Global:objCurrentOUDN&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:red;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;=&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt; &lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTreeView&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.SelectedNode.Tag &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-count:2;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:purple;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;$objTreeView&lt;/span&gt;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;.SelectedNode.Expand() &lt;/span&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;span style="color:black;mso-hansi-font-family:'Times New Roman';mso-font-kerning:0pt;"&gt;&lt;span style="mso-tab-c