﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-nick's IT blog-随笔分类-Powershell</title><link>http://www.cnitblog.com/nicktang/category/8200.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 18:45:50 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 18:45:50 GMT</pubDate><ttl>60</ttl><item><title>Powershell Function:Get-SavVer</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/15/56397.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Wed, 15 Apr 2009 08:18:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/15/56397.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56397.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/15/56397.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56397.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56397.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">SavVerWmi{&nbsp;<br><br>trap{<br>break<br>}<br></span><span style="COLOR: #000000"><br>$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$args[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;<br>$</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">root\DEFAULT</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br>$HKLM&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2147483650</span><span style="COLOR: #000000"><br>$oreg&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">wmiobject&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">list&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;$</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ComputerName&nbsp;$computer&nbsp;|&nbsp;where</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;{&nbsp;$_.name&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">eq&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">StdRegProv</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;}<br></span><span style="COLOR: #0000ff">If</span><span style="COLOR: #000000">($</span><span style="COLOR: #0000ff">Error</span><span style="COLOR: #000000">){$</span><span style="COLOR: #0000ff">Error</span><span style="COLOR: #000000">.Clear();break}<br>$strKeyPath&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Symantec\SharedDefs</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$strValueName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">DEFWATCH_10</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$strvalue&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;($oreg.GetStringValue($HKLM,$strKeyPath,$strValueName)).svalue&nbsp;<br><br>$SavYear&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue<br>$SavYear&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavYear.SubString($SavYear.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">)<br>$SavYear&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavYear.SubString(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)<br>$SavMonth&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue<br>$SavMonth&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavMonth.SubString($SavMonth.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">)<br>$SavMonth&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavMonth.SubString(</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br>$SavDay&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue<br>$SavDay&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavDay.SubString($SavDay.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">)<br>$SavDay&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavDay.SubString(</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)&nbsp;<br><br>$SavRevision&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue.SubString($strvalue.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;<br><br>$SavDate&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavYear&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$SavMonth&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$SavDay&nbsp;<br><br>$DefVer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavDate&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;rev.&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$SavRevision&nbsp;<br><br>$DefVer&nbsp;<br><br>$strKeyPath&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Intel\DLLUsage\VP6</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$strValueName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C:\Program&nbsp;Files\Symantec&nbsp;AntiVirus\Rtvscan.exe</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$strvalue&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;($oreg.GetStringValue($HKLM,$strKeyPath,$strValueName)).svalue<br>$RtvscanVer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strValue<br>$RtvscanVer&nbsp;<br><br>}&nbsp;<br></span></div>
<p><span style="COLOR: red">更新另外一个的版本：</span><br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">SavVerNet{<br><br>trap{<br>break<br>}<br><br>$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$args[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]<br>$hkey&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[Microsoft.Win32.RegistryHive]::LocalMachine&nbsp;<br>$key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Symantec\SharedDefs</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">DEFWATCH_10</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$reg&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($hkey,&nbsp;$Computer)&nbsp;<br>$regKey&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$reg.OpenSubKey($key)&nbsp;<br>$strvalue&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$regKey.GetValue($value)<br><br>$SavYear&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue<br>$SavYear&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavYear.SubString($SavYear.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">)<br>$SavYear&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavYear.SubString(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)<br>$SavMonth&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue<br>$SavMonth&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavMonth.SubString($SavMonth.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">)<br>$SavMonth&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavMonth.SubString(</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br>$SavDay&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue<br>$SavDay&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavDay.SubString($SavDay.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">)<br>$SavDay&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavDay.SubString(</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br><br>$SavRevision&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strvalue.SubString($strvalue.Length&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)<br><br>$SavDate&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavYear&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$SavMonth&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$SavDay<br><br>$DefVer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$SavDate&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;rev.&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$SavRevision<br><br>$DefVer<br><br>$key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Intel\DLLUsage\VP6</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C:\Program&nbsp;Files\Symantec&nbsp;AntiVirus\Rtvscan.exe</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$regKey&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$reg.OpenSubKey($key)&nbsp;<br>$strvalue&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$regKey.GetValue($value)<br>$RtvscanVer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$strValue<br>$RtvscanVer<br><br>}</span></div>
<p>&nbsp;
<p>使用方法：Get-SavVerWmi 10.100.1.111
<p>目前脚本并不完善，还需逐步进行修改！<br><br>两个版本的速度比较：<br><br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;measure</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">command</span><span style="COLOR: #000000">&nbsp;{</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">savvernet&nbsp;</span><span style="COLOR: #000000">10.100</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">1.1</span><span style="COLOR: #000000">}<br><br><br>Days&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Hours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Minutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Seconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Milliseconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">7</span><span style="COLOR: #000000"><br>Ticks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">79867</span><span style="COLOR: #000000"><br>TotalDays&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">9.24386574074074E-08</span><span style="COLOR: #000000"><br>TotalHours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">2.21852777777778E-06</span><span style="COLOR: #000000"><br>TotalMinutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.000133111666666667</span><span style="COLOR: #000000"><br>TotalSeconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.0079867</span><span style="COLOR: #000000"><br>TotalMilliseconds&nbsp;:&nbsp;</span><span style="COLOR: #000000">7.9867</span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;measure</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">command</span><span style="COLOR: #000000">&nbsp;{</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">savverwmi&nbsp;</span><span style="COLOR: #000000">10.100</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">1.1</span><span style="COLOR: #000000">}<br><br><br>Days&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Hours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Minutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Seconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000"><br>Milliseconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">824</span><span style="COLOR: #000000"><br>Ticks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">48240262</span><span style="COLOR: #000000"><br>TotalDays&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">5.58336365740741E-05</span><span style="COLOR: #000000"><br>TotalHours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.00134000727777778</span><span style="COLOR: #000000"><br>TotalMinutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.0804004366666667</span><span style="COLOR: #000000"><br>TotalSeconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">4.8240262</span><span style="COLOR: #000000"><br>TotalMilliseconds&nbsp;:&nbsp;</span><span style="COLOR: #000000">4824.0262</span></div>
<br>诶，以后能不用wmi，就尽量不用了吧：（<br>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-15 16:18 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/15/56397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Powershell Tips：捕获错误</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/15/56392.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Wed, 15 Apr 2009 05:56:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/15/56392.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56392.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/15/56392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56392.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56392.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">trap&nbsp;{<br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">write</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">host&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Error&nbsp;connecting&nbsp;to&nbsp;$computer</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">fore&nbsp;red&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">$computer</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;|&nbsp;out</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">file&nbsp;c:</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">demo</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">errors.txt&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">append&nbsp;<br>&nbsp;&nbsp;continue<br>}<br><br>$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">localhost</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">wmiobject&nbsp;win32_operatingsystem&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">comp&nbsp;$computer&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ErrorAction&nbsp;</span><span style="COLOR: #0000ff">stop</span><span style="COLOR: #000000"><br><br>$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">server2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">wmiobject&nbsp;win32_operatingsystem&nbsp;&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">comp&nbsp;$computer&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ErrorAction&nbsp;</span><span style="COLOR: #0000ff">stop</span><span style="COLOR: #000000"><br><br>$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">localhost</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">wmiobject&nbsp;win32_operatingsystem&nbsp;&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">comp&nbsp;$computer&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ErrorAction&nbsp;</span><span style="COLOR: #0000ff">stop</span><span style="COLOR: #000000"><br><br></span></div>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-15 13:56 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/15/56392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Powershell Tips：避免不必要的输出</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/15/56389.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Wed, 15 Apr 2009 05:20:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/15/56389.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56389.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/15/56389.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56389.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56389.html</trackback:ping><description><![CDATA[<p>3个方法：</p>
<p>1.[void]</p>
<p>2.out-null</p>
<p>3.&gt; $null</p>
<p>&nbsp;</p>
<p>例如：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;$a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello&nbsp;world!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;$a<br>hello&nbsp;world!<br>PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;[void]$a<br>PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;$a|out</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">null<br>PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;$a&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;$null<br></span></div>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-15 13:20 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/15/56389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Powershell using StdRegProv, error 80070005</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/15/56384.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Wed, 15 Apr 2009 02:28:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/15/56384.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56384.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/15/56384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56384.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56384.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$cred&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Credential&nbsp;test\test<br>$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;".</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br>$</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">root\DEFAULT</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br>$HKLM&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2147483650</span><span style="COLOR: #000000"><br>$oreg&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">wmiobject&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">list&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;$</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ComputerName&nbsp;$computer&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Credential&nbsp;$cred|&nbsp;where</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;{&nbsp;$_.name&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">eq&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">StdRegProv</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;}<br>$strKeyPath&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Symantec\SharedDefs</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$strValueName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">DEFWATCH_10</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>($oreg.GetStringValue($HKLM,$strKeyPath,$strValueName)).svalue</span></div>
<p>&nbsp;</p>
<p>使用上面代码连接远程计算机，将收到返回 ：</p>
<p><font color=#ff0000>检索成员&#8220;GetStringValue&#8221;时发生异常:&#8220;拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))&#8221;<br>所在位置 行:1 字符: 57<br>+ ($oreg.GetStringValue($HKLM,$strKeyPath,$strValueName)).s &lt;&lt;&lt;&lt; value</font>
<p>而其他一些class均正常；若不使用凭据，在域环境中运行正常；若不使用凭据，工作组中运行正常（当然本机具有同样密码的相应账户）；使用凭据，在本机建立同样密码的相应账户，同样正常。</p>
<p>&nbsp;</p>
<p>不清楚是powershell对wmi支持不够好，还是某些新的补丁引起 ？目前是怀疑微软某个安全补丁引起，可能会在后续补丁中修复。</p>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-15 10:28 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/15/56384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Powershell with Registry</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/14/56371.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Tue, 14 Apr 2009 14:07:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/14/56371.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56371.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/14/56371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56371.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56371.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">$path&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$psv&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">itemproperty&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">path&nbsp;$path&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$psv.RunTimeVersion<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">$path&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">HKLM\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$WshShell&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;New</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Object&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ComObject&nbsp;Wscript.Shell&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$WshShell.RegRead(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">$path\RunTimeVersion</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&#8220;.</span><span style="COLOR: #000000">"<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$hklm&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2147483650</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RunTimeVersion</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>$wmi&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[WMIClass]&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$computer&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\root\default:StdRegProv</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>($wmi.GetStringValue($hklm,$key,$value)).svalue<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&#8220;.</span><span style="COLOR: #000000">"<br></span><span style="COLOR: #000000"><br>$hklm&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2147483650</span><span style="COLOR: #000000">&nbsp;<br><br>$oreg&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">wmiobject&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">list&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;root</span><span style="COLOR: #000000">\</span><span style="COLOR: #0000ff">default</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ComputerName&nbsp;$computer&nbsp;|&nbsp;where</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;{&nbsp;$_.name&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">eq&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">StdRegProv</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;}<br><br>$key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RunTimeVersion</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>($oreg.GetStringValue($hklm,$key,$value)).svalue<br></span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$hklm&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">HKEY_LOCAL_MACHINE</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RunTimeVersion</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>[Microsoft.Win32.Registry]::GetValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">$hklm\$key</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,$value,$</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)<br></span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$Computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&#8220;.&#8221;<br><br>$hkey&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[Microsoft.Win32.RegistryHive]::LocalMachine&nbsp;<br><br>$key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RunTimeVersion</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$reg&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($hkey,&nbsp;$Computer)&nbsp;<br><br>$regKey&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$reg.OpenSubKey($key)&nbsp;<br><br>$regKey.GetValue($value)&nbsp;<br></span></div>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-14 22:07 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/14/56371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Reading an Excel sheet using PowerShell and ADO.Net</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/14/56336.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Tue, 14 Apr 2009 02:38:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/14/56336.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56336.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/14/56336.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56336.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56336.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">#Lets&nbsp;instantiate&nbsp;the&nbsp;objects&nbsp;we&nbsp;need:<br>$OleDbConn&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">System.Data.OleDb.OleDbConnection</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$OleDbCmd&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">System.Data.OleDb.OleDbCommand</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$OleDbAdapter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">System.Data.OleDb.OleDbDataAdapter</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$DataTable&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">System.Data.DataTable</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>&nbsp;&nbsp;<br><br>#</span><span style="COLOR: #0000ff">Set</span><span style="COLOR: #000000">&nbsp;the&nbsp;connection&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">and</span><span style="COLOR: #000000">&nbsp;connect.&nbsp;Please&nbsp;pay&nbsp;attention&nbsp;</span><span style="COLOR: #0000ff">to</span><span style="COLOR: #000000">&nbsp;the&nbsp;syntax,&nbsp;otherwise,&nbsp;you&#8217;ll&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">&nbsp;cryptic&nbsp;errors&nbsp;such&nbsp;</span><span style="COLOR: #0000ff">as</span><span style="COLOR: #000000">&nbsp;&#8220;Could&nbsp;</span><span style="COLOR: #0000ff">not</span><span style="COLOR: #000000">&nbsp;find&nbsp;installable&nbsp;ISAM&#8221;.&nbsp;Also,&nbsp;the&nbsp;file&nbsp;should&nbsp;</span><span style="COLOR: #0000ff">not</span><span style="COLOR: #000000">&nbsp;be&nbsp;locked&nbsp;exclusively<br>$OleDbConn.ConnectionString&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Provider=Microsoft.Jet.OLEDB.4.0;Data&nbsp;Source=C:\Users\lognoulm\Desktop\servercfg.xls;Extended&nbsp;Properties=""Excel&nbsp;8.0;HDR=YES""</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$OleDbConn.Open()&nbsp;<br><br>&nbsp;&nbsp;<br><br>#Optionally,&nbsp;</span><span style="COLOR: #0000ff">to</span><span style="COLOR: #000000">&nbsp;check&nbsp;that&nbsp;the&nbsp;connection&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;open,&nbsp;display&nbsp;the&nbsp;&#8220;State&#8221;&nbsp;</span><span style="COLOR: #0000ff">property</span><span style="COLOR: #000000">:<br>$OleDbConn.State&nbsp;<br><br>&nbsp;&nbsp;<br><br>#Now&nbsp;let&#8217;s&nbsp;construct&nbsp;a&nbsp;SQL&nbsp;query.&nbsp;Syntax&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;Excel&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;a&nbsp;little&nbsp;special,&nbsp;look&nbsp;at&nbsp;the&nbsp;</span><span style="COLOR: #0000ff">end</span><span style="COLOR: #000000">&nbsp;of&nbsp;this&nbsp;post&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;external&nbsp;references.<br>$OleDbCmd.Connection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$OleDbConn<br>$OleDbCmd.CommandText&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SELECT&nbsp;*&nbsp;FROM&nbsp;[Sheet1$]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>&nbsp;&nbsp;<br><br>#</span><span style="COLOR: #0000ff">Then</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">set</span><span style="COLOR: #000000">&nbsp;the&nbsp;Adapter&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000"><br>$OleDbAdapter.SelectCommand&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$OleDbCmd&nbsp;<br><br>&nbsp;&nbsp;<br><br>#</span><span style="COLOR: #0000ff">And</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">then</span><span style="COLOR: #000000">&nbsp;fill&nbsp;the&nbsp;DataTable&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">with</span><span style="COLOR: #000000">&nbsp;the&nbsp;results<br>$OleDbAdapter.Fill($DataTable)&nbsp;<br><br>&nbsp;&nbsp;<br><br>#</span><span style="COLOR: #0000ff">If</span><span style="COLOR: #000000">&nbsp;everything&nbsp;went&nbsp;fine,&nbsp;the&nbsp;</span><span style="COLOR: #0000ff">command</span><span style="COLOR: #000000">&nbsp;above&nbsp;will&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;the&nbsp;number&nbsp;of&nbsp;row&nbsp;present&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;the&nbsp;DataTable&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">.&nbsp;</span><span style="COLOR: #0000ff">To</span><span style="COLOR: #000000">&nbsp;display&nbsp;the&nbsp;&#8220;raw&#8221;&nbsp;contents,&nbsp;just&nbsp;enter<br>$DataTable&nbsp;<br><br>&nbsp;&nbsp;<br><br>#</span><span style="COLOR: #0000ff">To</span><span style="COLOR: #000000">&nbsp;show&nbsp;the&nbsp;first&nbsp;line&nbsp;(aka&nbsp;Row),&nbsp;use&nbsp;this&nbsp;$DataTable.Rows[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]<br></span><span style="COLOR: #0000ff">And</span><span style="COLOR: #000000">&nbsp;how&nbsp;</span><span style="COLOR: #0000ff">to</span><span style="COLOR: #000000">&nbsp;display&nbsp;a&nbsp;given&nbsp;field&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;that&nbsp;row?&nbsp;Just&nbsp;use&nbsp;the&nbsp;field&nbsp;header.&nbsp;</span><span style="COLOR: #0000ff">In</span><span style="COLOR: #000000">&nbsp;my&nbsp;XLS,&nbsp;one&nbsp;header&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;example&nbsp;&#8220;Name&#8221;<br>$DataTable.Rows[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].Name&nbsp;<br></span></div>
<p>&nbsp;
<p>摘自：<a title=http://www.marc-antho-etc.net/blog/post/Repost-Reading-an-Excel-sheet-using-PowerShell-and-ADONet.aspx href="http://www.marc-antho-etc.net/blog/post/Repost-Reading-an-Excel-sheet-using-PowerShell-and-ADONet.aspx">http://www.marc-antho-etc.net/blog/post/Repost-Reading-an-Excel-sheet-using-PowerShell-and-ADONet.aspx</a></p>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-14 10:38 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/14/56336.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Using ADO to get data from Excel to Dataset in Monad</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/14/56335.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Tue, 14 Apr 2009 02:32:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/14/56335.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56335.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/14/56335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56335.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56335.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$excel&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">$pwd\桌面\book1.xls</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>#&nbsp;Make&nbsp;the&nbsp;Connection&nbsp;:&nbsp;s<br>$ConnString&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Provider=Microsoft.Jet.OLEDB.4.0;Data&nbsp;Source=$excel;Extended&nbsp;Properties=Excel&nbsp;8.0;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br>$Conn&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.OleDb.OleDbConnection($connString)&nbsp;<br><br>#&nbsp;Open&nbsp;the&nbsp;Connection&nbsp;<br>$conn.open()&nbsp;<br><br>#&nbsp;</span><span style="COLOR: #0000ff">Get</span><span style="COLOR: #000000">&nbsp;the&nbsp;available&nbsp;Tables&nbsp;<br>$Tables&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$Conn.GetOleDbSchemaTable([System.Data.OleDb.OleDbSchemaGuid]::tables,$null)&nbsp;<br><br>#&nbsp;make&nbsp;a&nbsp;</span><span style="COLOR: #0000ff">Command</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">to</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">&nbsp;all&nbsp;data&nbsp;of&nbsp;the&nbsp;first&nbsp;table&nbsp;(Sheet)&nbsp;<br>$cmd&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.OleDb.OleDbCommand(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Select&nbsp;*&nbsp;from&nbsp;[$($tables.rows[0].TABLE_NAME)]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,$Conn)&nbsp;<br><br>#&nbsp;Load&nbsp;a&nbsp;DataAdapter&nbsp;</span><span style="COLOR: #0000ff">with</span><span style="COLOR: #000000">&nbsp;the&nbsp;</span><span style="COLOR: #0000ff">Select</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Command</span><span style="COLOR: #000000">.&nbsp;<br>$da&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.OleDb.OleDbDataAdapter($cmd)&nbsp;<br><br>#&nbsp;Fill&nbsp;a&nbsp;DataSet&nbsp;from&nbsp;the&nbsp;Data&nbsp;Adapter&nbsp;<br>$ds&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.dataset&nbsp;<br>$da.fill($ds)&nbsp;<br><br>#&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">&nbsp;the&nbsp;Tables&nbsp;<br>$ds.tables&nbsp;|&nbsp;out</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">null&nbsp;<br><br>#&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">&nbsp;all&nbsp;Row</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">s&nbsp;where&nbsp;User&nbsp;is&nbsp;Mow1&nbsp;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">$ds.tables[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].select(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">user&nbsp;=&nbsp;'Mow1'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;<br><br>#&nbsp;Save&nbsp;this&nbsp;Dataset&nbsp;</span><span style="COLOR: #0000ff">as</span><span style="COLOR: #000000">&nbsp;XML&nbsp;Document:&nbsp;<br>$sw&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;system.io.streamwriter(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">$pwd\桌面\Puters.xml</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;<br>$ds.WriteXml($sw)&nbsp;<br>$sw.close()&nbsp;<br><br>#&nbsp;Load&nbsp;XML&nbsp;document&nbsp;into&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;dataset&nbsp;:&nbsp;&nbsp;&nbsp;<br>$sr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;system.io.streamreader(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">$pwd\桌面\Puters.xml</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;<br>$ds.ReadXml($sr)<br>$sr.close()&nbsp;<br><br>$ds.tables&nbsp;<br></span></div>
<p>&nbsp;
<p>摘自：mow001的blog</p>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-14 10:32 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/14/56335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Powershell with Database</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/13/56317.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Mon, 13 Apr 2009 06:13:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/13/56317.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56317.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/13/56317.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56317.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56317.html</trackback:ping><description><![CDATA[<p>通过ADO查询Access</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$adOpenStatic&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000"><br>$adLockOptimistic&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&nbsp;<br><br>$objConnection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;New</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Object&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">comobject&nbsp;ADODB.Connection<br>$objRecordset&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;New</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Object&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">comobject&nbsp;ADODB.Recordset&nbsp;<br><br>$objConnection.Open(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Provider&nbsp;=&nbsp;Microsoft.Jet.OLEDB.4.0;&nbsp;Data&nbsp;Source&nbsp;=&nbsp;$pwd\checksav.mdb</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br>$strQuery</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Select&nbsp;*&nbsp;from&nbsp;CheckSAV</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$objRecordset.Open($strQuery,&nbsp;$objConnection,$adOpenStatic,$adLockOptimistic)&nbsp;<br><br>#$objRecordSet</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">$objConnection.Execute($strQuery)&nbsp;<br><br>$objRecordset.MoveFirst()&nbsp;<br><br></span><span style="COLOR: #0000ff">do</span><span style="COLOR: #000000">&nbsp;{$objRecordset.Fields.Item(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ComputerName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).Value;&nbsp;$objRecordset.MoveNext()}&nbsp;until&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;($objRecordset.EOF&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">eq&nbsp;$True)&nbsp;<br><br>$objRecordset.Close()<br>$objConnection.Close()&nbsp;<br></span></div>
<p>&nbsp;
<p>通过ADO更新Access</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$adOpenStatic&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000"><br>$adLockOptimistic&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&nbsp;<br><br>$objConnection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">com&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ADODB.Connection</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$objRecordSet&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">com&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ADODB.Recordset</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$objConnection.Open(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Provider&nbsp;=&nbsp;Microsoft.Jet.OLEDB.4.0;&nbsp;Data&nbsp;Source&nbsp;=&nbsp;$pwd\checksav.mdb</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;<br>$strQuery</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Select&nbsp;*&nbsp;from&nbsp;CheckSAV</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$objRecordset.Open($strQuery,&nbsp;$objConnection,$adOpenStatic,$adLockOptimistic)&nbsp;<br><br>$objRecordSet.AddNew()<br>$objRecordSet.Fields.Item(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ComputerName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).Value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">atl-ws-001</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$objRecordSet.Update()&nbsp;<br><br>$objRecordSet.Close()<br>$objConnection.Close()&nbsp;<br></span></div>
<p>&nbsp;<br>通过ADO删除Access</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$objConnection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">com&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ADODB.Connection</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$objRecordSet&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">com&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ADODB.Recordset</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$objConnection.Open(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Provider&nbsp;=&nbsp;Microsoft.Jet.OLEDB.4.0;&nbsp;Data&nbsp;Source&nbsp;=&nbsp;$pwd\checksav.mdb</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;<br>$strQuery</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">delete&nbsp;from&nbsp;checksav&nbsp;where&nbsp;computername='atl-ws-001'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$objRecordSet</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">$objConnection.Execute($strQuery)&nbsp;<br><br>$objConnection.Close()&nbsp;<br></span></div>
<p>&nbsp;
<p>通过ADO查询Excel </p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$objConnection</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">com&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ADODB.Connection</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br>$file</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">c:\ATT1741595.xls</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br>$strQuery</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Select&nbsp;*&nbsp;from&nbsp;[Sheet1$]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br>$users</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">@()&nbsp;<br>$objConnection.Open(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Provider=Microsoft.Jet.OLEDB.4.0;`&nbsp;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #000000">Data&nbsp;Source</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">$file;Extended&nbsp;Properties</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Excel&nbsp;</span><span style="COLOR: #000000">8.0</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #000000">$objRecordSet</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">$objConnection.Execute($strQuery)&nbsp;<br></span><span style="COLOR: #0000ff">do</span><span style="COLOR: #000000">&nbsp;{&nbsp;<br>$users</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">$objRecordSet.Fields.Item(</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">).Value&nbsp;<br>$objRecordSet.MoveNext()&nbsp;<br>}&nbsp;</span><span style="COLOR: #0000ff">Until</span><span style="COLOR: #000000">&nbsp;($objRecordSet.EOF)&nbsp;<br>$objConnection.Close()&nbsp;</span></div>
<p>&nbsp;
<p>查询SqlServer</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$conn&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;system.data.oledb.oledbconnection<br>$connstring&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">provider=sqloledb;data&nbsp;source=corp-alt-66;initial&nbsp;catalog=tracer2_dev_dfm;integrated&nbsp;security=SSPI</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$conn.connectionstring&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$connstring<br>$conn.open()&nbsp;<br><br>&nbsp;&nbsp;<br><br>$sqlquery&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">select&nbsp;ServerId,&nbsp;ServerName&nbsp;from&nbsp;Servers</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$cmd&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;system.data.oledb.oledbcommand<br>$cmd.connection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$conn<br>$cmd.commandtext&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$sqlquery<br>$reader&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$cmd.executereader()#将&nbsp;CommandText&nbsp;发送到&nbsp;Connection&nbsp;并生成一个&nbsp;OleDbDataReader。OleDbCommand.ExecuteScalar&nbsp;方法，执行查询，并返回查询所返回的结果集中第一行的第一列，忽略其他列或行。<br></span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">($reader.read())<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;$servId&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$reader.getvalue(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;$computer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$reader.getvalue(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;}&nbsp;<br><br>$reader.close()<br>$conn.close()&nbsp;<br></span></div>
<p>&nbsp;</p>
<p>更新Sqlserver </p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$conn&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.SqlClient.SqlConnection<br>$connstring&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">provider=sqloledb;data&nbsp;source=corp-alt-66;initial&nbsp;catalog=tracer2_dev_dfm;integrated&nbsp;security=SSPI</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$conn.connectionstring&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$connstring<br>$conn.open()<br><br><br>$query&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Insert&nbsp;into&nbsp;TestTable&nbsp;(ServerId,&nbsp;OSVersion)&nbsp;values&nbsp;('$servId','$version')</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>$cmd&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">Object</span><span style="COLOR: #000000">&nbsp;system.data.oledb.oledbcommand<br>$cmd.connection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$conn<br>$cmd.commandtext&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$query<br>$cmd.executenonquery()#针对&nbsp;Connection&nbsp;执行&nbsp;SQL&nbsp;语句并返回受影响的行数。<br>$conn.close()<br></span></div>
<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$conn&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.SqlClient.SqlConnection&nbsp;<br><br>$conn.ConnectionString&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">server=localhost;database=Northwind;integrated&nbsp;security=SSPI</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$cmd&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.SqlClient.SqlCommand&nbsp;<br><br>$cmd.CommandText&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SELECT&nbsp;CategoryID,&nbsp;CategoryName,&nbsp;Description,Picture&nbsp;FROm&nbsp;Categories</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$cmd.Connection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$conn&nbsp;<br><br>$adapter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.SqlClient.SqlDataAdapter&nbsp;<br><br>$adapter.SelectCommand&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$cmd&nbsp;<br><br>$ds&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Data.DataSet&nbsp;<br><br>$adapter.Fill($ds)&nbsp;<br><br>$conn.close()&nbsp;<br><br>$ds.Tables[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;<br></span></div>
<p>&nbsp;
<ol>
    <li>##############################################################################
    <li>##
    <li>## Invoke-SqlCommand.ps1
    <li>##
    <li>## From Windows PowerShell Cookbook (O'Reilly)
    <li>## by Lee Holmes (http://www.leeholmes.com/guide)
    <li>##
    <li>## Return the results of a SQL query or operation
    <li>##
    <li>## ie:
    <li>##
    <li>##&nbsp;&nbsp;&nbsp; ## Use Windows authentication
    <li>##&nbsp;&nbsp;&nbsp; Invoke-SqlCommand.ps1 -Sql "SELECT TOP 10 * FROM Orders"
    <li>##
    <li>##&nbsp;&nbsp;&nbsp; ## Use SQL Authentication
    <li>##&nbsp;&nbsp;&nbsp; $cred = Get-Credential
    <li>##&nbsp;&nbsp;&nbsp; Invoke-SqlCommand.ps1 -Sql "SELECT TOP 10 * FROM Orders" -Cred $cred
    <li>##
    <li>##&nbsp;&nbsp;&nbsp; ## Perform an update
    <li>##&nbsp;&nbsp;&nbsp; $server = "MYSERVER"
    <li>##&nbsp;&nbsp;&nbsp; $database = "Master"
    <li>##&nbsp;&nbsp;&nbsp; $sql = "UPDATE Orders SET EmployeeID = 6 WHERE OrderID = 10248"
    <li>##&nbsp;&nbsp;&nbsp; Invoke-SqlCommand $server $database $sql
    <li>##
    <li>##&nbsp;&nbsp;&nbsp; $sql = "EXEC SalesByCategory 'Beverages'"
    <li>##&nbsp;&nbsp;&nbsp; Invoke-SqlCommand -Sql $sql
    <li>##
    <li>##&nbsp;&nbsp;&nbsp; ## Access an access database
    <li>##&nbsp;&nbsp;&nbsp; Invoke-SqlCommand (Resolve-Path access_test.mdb) -Sql "SELECT * FROM Users"
    <li>##&nbsp;&nbsp;&nbsp;
    <li>##&nbsp;&nbsp;&nbsp; ## Access an excel file
    <li>##&nbsp;&nbsp;&nbsp; Invoke-SqlCommand (Resolve-Path xls_test.xls) -Sql 'SELECT * FROM [Sheet1$]'
    <li>##
    <li>##############################################################################
    <li>
    <li>param(
    <li>&nbsp;&nbsp;&nbsp; [string] $dataSource = ".\SQLEXPRESS",
    <li>&nbsp;&nbsp;&nbsp; [string] $database = "Northwind",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <li>&nbsp;&nbsp;&nbsp; [string] $sqlCommand = $(throw "Please specify a query."),
    <li>&nbsp;&nbsp;&nbsp; [System.Management.Automation.PsCredential] $credential
    <li>&nbsp; )
    <li>
    <li>
    <li>## Prepare the authentication information. By default, we pick
    <li>## Windows authentication
    <li>$authentication = "Integrated Security=SSPI;"
    <li>
    <li>## If the user supplies a credential, then they want SQL
    <li>## authentication
    <li>if($credential)
    <li>{
    <li>&nbsp;&nbsp;&nbsp; $plainCred = $credential.GetNetworkCredential()
    <li>&nbsp;&nbsp;&nbsp; $authentication =
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ("uid={0};pwd={1};" -f $plainCred.Username,$plainCred.Password)
    <li>}
    <li>
    <li>## Prepare the connection string out of the information they
    <li>## provide
    <li>$connectionString = "Provider=sqloledb; " +
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Data Source=$dataSource; " +
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Initial Catalog=$database; " +
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "$authentication; "
    <li>
    <li>## If they specify an Access database or Excel file as the connection
    <li>## source, modify the connection string to connect to that data source
    <li>if($dataSource -match '\.xls$|\.mdb$')
    <li>{
    <li>&nbsp;&nbsp;&nbsp; $connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$dataSource; "
    <li>
    <li>&nbsp;&nbsp;&nbsp; if($dataSource -match '\.xls$')
    <li>&nbsp;&nbsp;&nbsp; {
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $connectionString += 'Extended Properties="Excel 8.0;"; '
    <li>
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ## Generate an error if they didn't specify the sheet name properly
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($sqlCommand -notmatch '\[.+\$\]')
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $error = 'Sheet names should be surrounded by square brackets, and ' +
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'have a dollar sign at the end: [Sheet1$]'
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Error $error
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
    <li>&nbsp;&nbsp;&nbsp; }
    <li>}
    <li>
    <li>## Connect to the data source and open it
    <li>$connection = New-Object System.Data.OleDb.OleDbConnection $connectionString
    <li>$command = New-Object System.Data.OleDb.OleDbCommand $sqlCommand,$connection
    <li>$connection.Open()
    <li>
    <li>## Fetch the results, and close the connection
    <li>$adapter = New-Object System.Data.OleDb.OleDbDataAdapter $command
    <li>$dataset = New-Object System.Data.DataSet
    <li>[void] $adapter.Fill($dataSet)
    <li>$connection.Close()
    <li>
    <li>## Return all of the rows from their query
    <li>$dataSet.Tables | Select-Object -Expand Rows</li>
</ol>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-13 14:13 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/13/56317.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Win32_PingStatus vs [System.Net.NetworkInformation.Ping] vs Ping.exe</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/10/56240.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Fri, 10 Apr 2009 14:38:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/10/56240.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56240.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/10/56240.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56240.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56240.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">$g&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;@(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">127.0.0.1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000"><br><br>&nbsp;<br><br></span><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Wmi&nbsp;{<br><br>PROCESS&nbsp;{&nbsp;<br><br>$wmi&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">wmiobject&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">query&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SELECT&nbsp;*&nbsp;FROM&nbsp;Win32_PingStatus&nbsp;WHERE&nbsp;Address&nbsp;=&nbsp;'$_'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;($wmi.StatusCode&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">eq&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;{&nbsp;$_&nbsp;}<br><br>}<br><br>}<br><br>&nbsp;<br><br></span><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Net&nbsp;{<br><br>Begin&nbsp;{&nbsp;$ping&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Net.NetworkInformation.Ping&nbsp;}<br><br>Process&nbsp;{<br><br></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;($ping.Send($_))&nbsp;{<br><br>$_<br><br>}<br><br>}<br><br>}<br><br>&nbsp;<br><br></span><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Exe&nbsp;{<br><br>Process&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;((Ping&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">n&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;$_|out</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">)&nbsp;&#8211;match&nbsp;&#8220;Reply&#8221;)&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>}<br><br>&nbsp;<br><br>PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;measure</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">command</span><span style="COLOR: #000000">&nbsp;{&nbsp;$g&nbsp;|&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Wmi&nbsp;}&nbsp;<br><br>Days&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Hours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Minutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Seconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Milliseconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">802</span><span style="COLOR: #000000"><br>Ticks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">8023905</span><span style="COLOR: #000000"><br>TotalDays&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">9.28692708333333E-06</span><span style="COLOR: #000000"><br>TotalHours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.00022288625</span><span style="COLOR: #000000"><br>TotalMinutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.013373175</span><span style="COLOR: #000000"><br>TotalSeconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.8023905</span><span style="COLOR: #000000"><br>TotalMilliseconds&nbsp;:&nbsp;</span><span style="COLOR: #000000">802.3905</span><span style="COLOR: #000000">&nbsp;<br><br>&nbsp;&nbsp;<br><br>PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;measure</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">command</span><span style="COLOR: #000000">&nbsp;{&nbsp;$g&nbsp;|&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Net&nbsp;}&nbsp;<br><br>Days&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Hours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Minutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Seconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Milliseconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">25</span><span style="COLOR: #000000"><br>Ticks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">255965</span><span style="COLOR: #000000"><br>TotalDays&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">2.96255787037037E-07</span><span style="COLOR: #000000"><br>TotalHours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">7.11013888888889E-06</span><span style="COLOR: #000000"><br>TotalMinutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.000426608333333333</span><span style="COLOR: #000000"><br>TotalSeconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.0255965</span><span style="COLOR: #000000"><br>TotalMilliseconds&nbsp;:&nbsp;</span><span style="COLOR: #000000">25.5965</span><span style="COLOR: #000000">&nbsp;<br><br>&nbsp;&nbsp;<br><br>PS&nbsp;C:</span><span style="COLOR: #000000">\&gt;</span><span style="COLOR: #000000">&nbsp;measure</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">command</span><span style="COLOR: #000000">&nbsp;{&nbsp;$g&nbsp;|&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Exe&nbsp;}&nbsp;<br><br>Days&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Hours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Minutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br>Seconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000"><br>Milliseconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">375</span><span style="COLOR: #000000"><br>Ticks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">23757357</span><span style="COLOR: #000000"><br>TotalDays&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">2.74969409722222E-05</span><span style="COLOR: #000000"><br>TotalHours&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.000659926583333333</span><span style="COLOR: #000000"><br>TotalMinutes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">0.039595595</span><span style="COLOR: #000000"><br>TotalSeconds&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="COLOR: #000000">2.3757357</span><span style="COLOR: #000000"><br>TotalMilliseconds&nbsp;:&nbsp;</span><span style="COLOR: #000000">2375.7357</span><span style="COLOR: #000000">&nbsp;<br></span></div>
<p>&nbsp;</p>
<p>从这个结果来看，Ping-Exe=2375.7357 &gt; Ping-Wmi=802.3905 &gt; Ping-Net=25.5965，该选择哪个就不用说了:)</p>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56240.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-10 22:38 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/10/56240.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ping Function</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/10/56207.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Fri, 10 Apr 2009 05:59:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/10/56207.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56207.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/10/56207.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56207.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56207.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Net<br>{<br>&nbsp;&nbsp;$timeout</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">;#毫秒<br>&nbsp;&nbsp;trap&nbsp;{&nbsp;continue;&nbsp;}<br>&nbsp;&nbsp;$ping&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Net.NetworkInformation.Ping&nbsp;<br>&nbsp;&nbsp;$reply&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.Net.NetworkInformation.PingReply&nbsp;<br><br>&nbsp;&nbsp;$reply&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$ping.Send($args,&nbsp;$timeout);<br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;$reply.Status&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">eq&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Success</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;&nbsp;)&nbsp;<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;$</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;$</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;&nbsp;<br><br>}&nbsp;<br></span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Wmi&nbsp;{<br>&nbsp;&nbsp;&nbsp;Param([</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">]$computer)<br>&nbsp;&nbsp;&nbsp;$pingresult&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">WmiObject&nbsp;win32_pingstatus&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">f&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">address='$computer'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;#$pingresult&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;gwmi&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">query&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SELECT&nbsp;*&nbsp;FROM&nbsp;Win32_PingStatus&nbsp;WHERE&nbsp;Address&nbsp;=&nbsp;'$computer'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">($pingresult.statuscode&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">eq&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;{$</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">}&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;{$</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">}<br>}</span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Exe{<br>&nbsp;&nbsp;&nbsp;&nbsp;$reply&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Ping&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">n&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">w&nbsp;</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">&nbsp;$args;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">Return</span><span style="COLOR: #000000">&nbsp;$?;<br>}</span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;Ping</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Exe{<br>&nbsp;&nbsp;&nbsp;&nbsp;(Ping&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">n&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">w&nbsp;</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">&nbsp;$args|out</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">)&nbsp;&#8211;match&nbsp;&#8220;Reply&#8221;;<br><br>}<br></span></div>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-10 13:59 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/10/56207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Searching the Active Directory with PowerShell</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/10/56198.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Fri, 10 Apr 2009 01:59:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/10/56198.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56198.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/10/56198.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56198.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56198.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">dn&nbsp;($SAMName)&nbsp;<br><br>{&nbsp;<br><br>$root&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[ADSI]</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">'&nbsp;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>$searcher&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;System.DirectoryServices.DirectorySearcher($root)&nbsp;<br><br>$searcher.filter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">(&amp;(objectClass=user)(sAMAccountName=&nbsp;$SAMName))</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br>$user&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$searcher.findall()&nbsp;<br><br></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;($user.count&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">gt&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;<br><br>{&nbsp;<br><br>$count&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;<br><br>foreach($i&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;$user)&nbsp;<br><br>{&nbsp;<br><br></span><span style="COLOR: #0000ff">write</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">host&nbsp;$count&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;$i.path&nbsp;<br><br>$count&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$count&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;<br><br>}&nbsp;<br><br>$selection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Read</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Host&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Please&nbsp;select&nbsp;item:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><br></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;$user[$selection].path&nbsp;<br><br>}&nbsp;<br><br></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br><br>{&nbsp;<br><br></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;$user[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].path&nbsp;<br><br>}&nbsp;<br><br>}&nbsp;<br><br>$Name&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$args[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;<br><br>$path&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">dn&nbsp;$Name&nbsp;<br><br></span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;$path&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br></span></div>
<p><br>举例：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">PS&nbsp;C:</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">store</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">ps&nbsp;scripts</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;.</span><span style="COLOR: #000000">\</span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">dn.ps1&nbsp;administrator&nbsp;<br><br></span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">LDAP://CN=Administrator,CN=Users,DC=umpadom,DC=com'&nbsp;</span><span style="COLOR: #008000"><br></span></div>
<p>&nbsp;
<p>摘自：<a title=http://blogs.technet.com/benp/archive/2007/03/26/searching-the-active-directory-with-powershell.aspx href="http://blogs.technet.com/benp/archive/2007/03/26/searching-the-active-directory-with-powershell.aspx">http://blogs.technet.com/benp/archive/2007/03/26/searching-the-active-directory-with-powershell.aspx</a></p>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-10 09:59 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/10/56198.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>System.Net.Mail with SSL to authenticate against port 465</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/09/56194.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Thu, 09 Apr 2009 13:34:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/09/56194.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56194.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/09/56194.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56194.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56194.html</trackback:ping><description><![CDATA[<h4>Sending mail using System.Net.Mail with SSL will fail:</h4> <p>System.Net.NetworkCredential aCred = new System.Net.NetworkCredential("myacct", "mypassword");  <p>SmtpClient smtp = new SmtpClient("smtp.mail.myserver.com", 465);  <p>smtp.EnableSsl = true;  <p>smtp.UseDefaultCredentials = false;  <p>smtp.Credentials = aCred;  <p>System.Net.Mail only supports “Explicit SSL”.&nbsp; <p><b>Explicit SSL</b>  <p>System.Net.Mail only supports “Explicit SSL”.&nbsp; Explicit SSL starts as unencrypted on port 25, then issues a STARTDLS and switches to an Encrypted connection.&nbsp; See RFC 2228.  <p>Explicit&nbsp; SLL would go something like: Connect on 25 -&gt; StartTLS (starts to encrypt) -&gt; authenticate -&gt; send data  <p>If the SMTP server expects SSL/TLS connection right from the start then this will not work.  <p><b>Implicit SSL</b>  <p>There is no way to use Implicit SSL (SMTPS) with System.Net.Mail.&nbsp; Implicit SSL would have the entire connection is wrapped in an SSL layer.&nbsp; A specific port would be used (port 465 is common).&nbsp; There is no formal RFC covering Implicit SSL.  <p>Implicit&nbsp; SLL would go something like: Start SSL (start encryption) -&gt; Connect -&gt; Authenticate -&gt; send data  <p>This is not considered a bug, it’s a feature request. There are two types of SSL authentication for SMTP, and we only support one (by design) – Explicit SSL.  <p>&nbsp; <p>转自<a href="http://blogs.msdn.com/webdav_101/default.aspx">Dan's WebDAV 101</a></p><img src ="http://www.cnitblog.com/nicktang/aggbug/56194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-09 21:34 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/09/56194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sendmail Function</title><link>http://www.cnitblog.com/nicktang/archive/2009/04/09/56193.html</link><dc:creator>nicktang</dc:creator><author>nicktang</author><pubDate>Thu, 09 Apr 2009 13:24:00 GMT</pubDate><guid>http://www.cnitblog.com/nicktang/archive/2009/04/09/56193.html</guid><wfw:comment>http://www.cnitblog.com/nicktang/comments/56193.html</wfw:comment><comments>http://www.cnitblog.com/nicktang/archive/2009/04/09/56193.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/nicktang/comments/commentRss/56193.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/nicktang/services/trackbacks/56193.html</trackback:ping><description><![CDATA[<p><strong>Powershell:System.Net.Mail.MailMessage</strong></p>
<p>#mail server configuration <br>$smtpServer = "smtpServer" <br>$smtpUser = "smtpUser" <br>$smtpPassword = "smtpPassword " <br></p>
<p>#create the mail message <br>$mail = New-Object System.Net.Mail.MailMessage <br></p>
<p>#set the addresses <br>$MailAddress="MailAddress" <br>$MailtoAddress="MailtoAddress" <br>$mail.From = New-Object System.Net.Mail.MailAddress($MailAddress) <br>$mail.To.Add($MailtoAddress) <br></p>
<p>#set the content <br>$mail.Subject = "Hello PowerShell"; <br>$mail.Priority&nbsp; = "High" <br>$mail.Body = "Sending mail is easy!" <br>$filename="file" <br>$attachment = new-Object System.Net.Mail.Attachment($filename) <br>$mail.Attachments.Add($attachment) <br></p>
<p>#send the message <br>$smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer <br>$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword <br>$smtp.Send($mail)</p>
<p>为了防止密码以明文形式出现在脚本中，可以使用Get-Credential cmdlet</p>
<p>$cred = (Get-Credential domain\user).GetNetworkCredential()</p>
<p>$smtp.Credentials = $cred</p>
<p>支持SSL</p>
<p>$smtp.EnableSsl = $True</p>
<p>&nbsp;</p>
<p><strong>Powershell:CDO.Message</strong></p>
<p>$objMessage = new-object -com CDO.Message <br>$objMessage.From = "`"Krzysztof Pietrzak`" &lt;pkrzysz@nospam.pjwstk.edu.pl&gt;" <br>$objMessage.To = "pkrzysz@nospam.pjwstk.edu.pl" <br>$objMessage.Subject = " Message Subject" <br>$objMessage.TextBody = "Body of message" <br></p>
<p># Send using SMTP <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 <br>#SMTP Server <br>$objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.server.org" <br>#SMTP Server Port <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 <br>#Authenticaztion 1-Baasic, 2-NTLM <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2 <br>#Use ssl <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 0 <br>#Timeout <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 <br>$objMessage.Configuration.Fields.Update() <br>$objMessage.Send()</p>
<p><strong></strong>&nbsp;</p>
<p><strong>Powershell:CDO.Message带有身份验证和SSL/TLS</strong></p>
<p>$objMessage = new-object -com CDO.Message <br>$objMessage.From = "`"Krzysztof Pietrzak`" &lt;pkrzysz@nospam.pjwstk.edu.pl&gt;" <br>$objMessage.To = "pkrzysz@nospam.pjwstk.edu.pl" <br>$objMessage.Subject = " Message Subject" <br>$objMessage.TextBody = "Body of message" <br></p>
<p># Send using SMTP <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 <br>#SMTP Server <br>$objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "dfs2" <br>#SMTP Server Port <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 <br>#Authenticaztion 1-Baasic, 2-NTLM <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 <br>#UserID <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "yourUser" <br>#Password <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "yourpassword" <br>#Use ssl <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1 <br>#Timeout <br>$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 <br>$objMessage.Configuration.Fields.Update() <br>$objMessage.Send()</p>
<p><strong></strong>&nbsp; </p>
<p><strong>VBScript:CDO.Message</strong> </p>
<p>Set objMessage = CreateObject("CDO.Message") <br>objMessage.Subject = "Example CDO Message" <br>objMessage.From = "me@my.com" <br>objMessage.To = "test@paulsadowski.com" <br>objMessage.TextBody = "This is some sample message text." <br>objMessage.Send </p>
<p><strong></strong>&nbsp; </p>
<p><strong>VBScript:CDO.Message带有附件和邮件的HTML</strong> </p>
<p>'The line below shows how to send using HTML included directly in your script <br>objMessage.HTMLBody = "&lt;h1&gt;This is some sample message html.&lt;/h1&gt;" <br>'The line below shows how to send a webpage from a remote site <br>objMessage.CreateMHTMLBody "http://www.paulsadowski.com/wsh/" <br>'The line below shows how to send a webpage from a file on your machine <br>objMessage.CreateMHTMLBody "file://c|/temp/test.htm" <br>objMessage.Bcc = "you@your.com" <br>objMessage.Cc = &#8220;you2@your.com&#8221; </p>
<p><strong></strong>&nbsp; </p>
<p><strong>VBScript:CDO.MessageNTLM</strong> </p>
<p>Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory. <br>Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network). <br>Const cdoAnonymous = 0 'Do not authenticate <br>Const cdoBasic = 1 'basic (clear-text) authentication <br>Const cdoNTLM = 2 'NTLM <br></p>
<p>Set objMessage = CreateObject("CDO.Message") <br>objMessage.Subject = "Temat" <br>objMessage.From = """nadawca"" nadawca@domena.com" <br>objMessage.To = "odbiorca1@domena1.com" <br>objMessage.TextBody = "Serwer " <br></p>
<p>'==This section provides the configuration information for the remote SMTP server. <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 <br>'Name or IP of Remote SMTP Server <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtpServer" <br>'Type of authentication, NONE, Basic (Base64 encoded), NTLM <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoNTLM <br>'Server port (typically 25) <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 <br>'Use SSL for the connection (False or True) <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False <br>'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server) <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 <br>objMessage.Configuration.Fields.Update</p>
<p>&nbsp; </p>
<p>'==End remote SMTP server configuration section== <br>objMessage.Send </p>
<p><strong></strong>&nbsp; </p>
<p><strong>VBScript:CDO.Message基本身份验证和SSL</strong> </p>
<p>Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory. <br>Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network). <br>Const cdoAnonymous = 0 'Do not authenticate <br>Const cdoBasic = 1 'basic (clear-text) authentication <br>Const cdoNTLM = 2 'NTLM</p>
<p><br>Set objMessage = CreateObject("CDO.Message") <br>objMessage.Subject = "Example CDO Message" <br>objMessage.From = """Me"" &lt;me@my.com&gt;" <br>objMessage.To = "test@paulsadowski.com" <br>objMessage.TextBody = "This is some sample message text.." &amp; vbCRLF &amp; "It was sent using SMTP authentication." <br></p>
<p>'==This section provides the configuration information for the remote SMTP server. <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 <br>'Name or IP of Remote SMTP Server <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.your.com" <br>'Type of authentication, NONE, Basic (Base64 encoded), NTLM <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic <br>'Your UserID on the SMTP server <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/sendusername") = "youruserid" <br>'Your password on the SMTP server <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "yourpassword" <br>'Server port (typically 25) <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 <br>'Use SSL for the connection (False or True) <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = TRUE <br>'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server) <br>objMessage.Configuration.Fields.Item _ <br>("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 <br>objMessage.Configuration.Fields.Update <br>'==End remote SMTP server configuration section== <br></p>
<p>objMessage.Send</p>
<p>&nbsp;</p>
<p><strong>VBScript:CDONTS，在2000下使用，XP和2003需注册相应dll，并安装SMTP服务，<font color=#ff0000>在Windows Server 2008上同样被支持，但是找不出不升级程序的理由，谁都不希望再去多装服务，麻烦不说，无形中还增加了一点安全风险，而且这种方法也不会被微软支持！</font><a title=http://www.jppinto.com/index.php/2009/03/install-cdonts-mail-component-and-smtp-on-windows-server-2008/ href="http://www.jppinto.com/index.php/2009/03/install-cdonts-mail-component-and-smtp-on-windows-server-2008/"><font color=#ff0000>http://www.jppinto.com/index.php/2009/03/install-cdonts-mail-component-and-smtp-on-windows-server-2008/</font></a></strong></p>
<p><a title=http://weblogs.asp.net/steveschofield/archive/2008/08/18/getting-cdonts-to-work-on-windows-server-2008-x64.aspx href="http://weblogs.asp.net/steveschofield/archive/2008/08/18/getting-cdonts-to-work-on-windows-server-2008-x64.aspx"><font color=#ff0000>http://weblogs.asp.net/steveschofield/archive/2008/08/18/getting-cdonts-to-work-on-windows-server-2008-x64.aspx</font></a></p>
<p>Dim strComputer, objNetwork <br>Set objNetwork = WScript.CreateObject("WScript.Network") <br>Set objMessage = CreateObject("CDONTS.NewMail") <br>set fs = CreateObject("Scripting.FileSystemObject") <br>set drive = fs.GetDrive("C:\") <br>strComputer = objNetwork.ComputerName <br>objMessage.Subject = "Daily report of C drive available space on&nbsp; " &amp; strComputer <br>objMessage.From = "icil_sup@icil.net" <br>objMessage.To = "allenzhang@icil.net,havingchan@icil.net" <br>strSpace = "Available Space on C:\:" &amp; FormatNumber(drive.AvailableSpace/1024^2) &amp; "MB" <br>objMessage.Body = Now &amp; vbtab &amp;&nbsp; strComputer &amp; vbtab &amp; strSpace <br>objMessage.Send</p>
<p>&nbsp;</p>
<p><strong>补充：Powershell:System.Web.Mail.MailMessage </strong><span style="COLOR: red">（利用CDOSYS消息组件发送电子邮件，.net 1.0和.net 1.1）</span></p>
<p>[System.Reflection.Assembly]::LoadWithPartialName("System.Web")
<p>$WebMailMessage = New-Object System.Web.Mail.MailMessage
<p>$WebMailMessage.From = 'powershell@powershell.com'
<p>$WebMailMessage.Subject = 'TEST'
<p>$WebMailMessage.To = 'someone@email.com'
<p>$WebMailMessage.Body = 'This is a test of System.Web.Mail.SMTPMail'
<p>$file="C:\test.txt"
<p>$attach=new-object system.web.mail.mailattachment($file)
<p>$webmailmessage.attachments.add($attach)
<p>[System.Web.Mail.SmtpMail]::smtpServer = 'smtp.server.com'
<p>[System.Web.Mail.SmtpMail]::send($WebMailMessage) </p>
<img src ="http://www.cnitblog.com/nicktang/aggbug/56193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/nicktang/" target="_blank">nicktang</a> 2009-04-09 21:24 <a href="http://www.cnitblog.com/nicktang/archive/2009/04/09/56193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>