<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Dev&#039;s Life &#187; PowerShell</title>
	<atom:link href="http://www.devslife.com/category/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devslife.com</link>
	<description>シアトル在住日本人ソフトウェアエンジニアのひとりごと</description>
	<lastBuildDate>Wed, 10 Mar 2010 17:11:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PowerShellでファイルをダウンロード</title>
		<link>http://www.devslife.com/2009/11/12/powershell%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89/</link>
		<comments>http://www.devslife.com/2009/11/12/powershell%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 03:50:07 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/11/12/powershell%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89/</guid>
		<description><![CDATA[Scott [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://feedproxy.google.com/~r/ScottHanselman/~3/7gprmpbsbS0/DownloadPodcastsWithPowershell.aspx" target="_blank">Scott Hanselmanさんのブログ</a>にPowerShellでファイルをダウンロードするスクリプトが紹介されていました。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/11/12/powershell%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShellからWatiNを使う（V2編）</title>
		<link>http://www.devslife.com/2009/02/25/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86%ef%bc%88v2%e7%b7%a8%ef%bc%89/</link>
		<comments>http://www.devslife.com/2009/02/25/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86%ef%bc%88v2%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 18:06:35 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/25/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86%ef%bc%88v2%e7%b7%a8%ef%bc%89/</guid>
		<description><![CDATA[この間PowerShellからWatiNを使おうとして一番問題になったのがWatiNをPowerShell上でSTAモードで実行しなければならなかったことだ。前回の記事でも紹介したようにV1のPowerShellではST [...]]]></description>
			<content:encoded><![CDATA[<p>この間PowerShellからWatiNを使おうとして一番問題になったのがWatiNをPowerShell上でSTAモードで実行しなければならなかったことだ。前回の記事でも紹介したようにV1のPowerShellではSTAにするにはC#のカスタムコマンドレットをコンパイルしてそれの助けを得て初めてWatiNをSTA（シングルスレッドアパートメント）モードで実行できたのだが、なんとV2を使うとPowerShellを簡単にSTAモードでスタート出来てしまうことを発見。これがあればこの間苦労したことなんて一気に解決だ。</p>
<p>コンソール上でpowershell /?と打ってやるとpowershell.exeの起動時のオプションが表示される。その中に・・・</p>
<p>-Sta<br />&nbsp;&nbsp;&nbsp; Start the shell using a single-threaded apartment.
<p>PowerShellを起動するショートカットのプロパティのターゲットに-Staを追加して更新し、ショートカットをダブルクリックするとPowerShellがSTAモードで起動してくれるのだ。あとはWatiNスクリプトが入ったファイルを普通に実行すると見事に成功。今までの苦労はなんだったんだろう・・・
<p>というわけでWatiN＋PowerShellがかなり現実味を帯びてきた。これからもっとWatiN用のPowerShellスクリプトを書いていきたいと思っている。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/25/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86%ef%bc%88v2%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>「INETA &amp; techbank.jp &amp; PowerShell from Japan &amp; HIRO&#8217;s.NET 合同勉強会 in 仙台」</title>
		<link>http://www.devslife.com/2009/02/20/%e3%80%8cineta-techbankjp-powershell-from-japan-hirosnet-%e5%90%88%e5%90%8c%e5%8b%89%e5%bc%b7%e4%bc%9a-in-%e4%bb%99%e5%8f%b0%e3%80%8d/</link>
		<comments>http://www.devslife.com/2009/02/20/%e3%80%8cineta-techbankjp-powershell-from-japan-hirosnet-%e5%90%88%e5%90%8c%e5%8b%89%e5%bc%b7%e4%bc%9a-in-%e4%bb%99%e5%8f%b0%e3%80%8d/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 23:23:46 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/20/%e3%80%8cineta-techbankjp-powershell-from-japan-hirosnet-%e5%90%88%e5%90%8c%e5%8b%89%e5%bc%b7%e4%bc%9a-in-%e4%bb%99%e5%8f%b0%e3%80%8d/</guid>
		<description><![CDATA[が催される予定だそうです。下の画像からその催しの情報ページへ飛ぶことができます。
 [...]]]></description>
			<content:encoded><![CDATA[<p>が催される予定だそうです。下の画像からその催しの情報ページへ飛ぶことができます。</p>
<p><a href="http://techbank.jp/event-sendai/" target="_blank"><img style="border-bottom: #eeeeee 1pt outset; border-left: #eeeeee 1pt outset; border-top: #eeeeee 1pt outset; border-right: #eeeeee 1pt outset" border="0" alt="INETA &amp; techbank.jp &amp; PowerShell from Japan!! &amp; HIRO's.NET 合同勉強会 in 仙台" src="http://techbank.jp/event-sendai/InetaStudyLogo5.jpg"> </a></p>
<p>実家の秋田にいたら行くんだけどなあ・・・</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/20/%e3%80%8cineta-techbankjp-powershell-from-japan-hirosnet-%e5%90%88%e5%90%8c%e5%8b%89%e5%bc%b7%e4%bc%9a-in-%e4%bb%99%e5%8f%b0%e3%80%8d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>テキストファイルに含まれている文字列を検索</title>
		<link>http://www.devslife.com/2009/02/19/%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ab%e5%90%ab%e3%81%be%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e6%a4%9c%e7%b4%a2/</link>
		<comments>http://www.devslife.com/2009/02/19/%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ab%e5%90%ab%e3%81%be%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e6%a4%9c%e7%b4%a2/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 00:31:48 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/19/%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ab%e5%90%ab%e3%81%be%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e6%a4%9c%e7%b4%a2/</guid>
		<description><![CDATA[ずっと前にPowerShellでテキストファイルに含まれる文字列を検索して検索する文字があったらそれを画面上に表示するというのを紹介したことがあったが、もうちょっと踏み込んで条件に合ったファイルを一つのディレクトリにコピ [...]]]></description>
			<content:encoded><![CDATA[<p>ずっと前にPowerShellでテキストファイルに含まれる文字列を検索して検索する文字があったらそれを画面上に表示するというのを<a href="http://www.devslife.com/2008/04/22/ある文字列を含むファイルを探す/" target="_blank">紹介した</a>ことがあったが、もうちょっと踏み込んで条件に合ったファイルを一つのディレクトリにコピーするところまでやってみよう。</p>
<pre class="csharpcode">dir -<span class="kwrd">filter</span> *.sql -recurse | where {[System.IO.File]::ReadAllText($_.FullName) `</pre>
<pre class="csharpcode"><span class="preproc">-match</span> <span class="str">"DataStatus"</span>} | <span class="kwrd">foreach</span> {$_.CopyTo(<span class="str">"D:\Temp\$_"</span>)}</pre>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<p>上の例では拡張子がsqlのファイルを最初にリストしてDataStatusという文字列が含まれるとD:\Tempにそれぞれのファイルをコピーするというもの。必要に駆られたのでメモ程度に紹介しておきます。</p>
<p>&nbsp;</p>
<p><!--noadsense--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/19/%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ab%e5%90%ab%e3%81%be%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e6%a4%9c%e7%b4%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShellからWatiNを使う</title>
		<link>http://www.devslife.com/2009/02/19/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86-2/</link>
		<comments>http://www.devslife.com/2009/02/19/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86-2/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 22:24:33 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/19/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86-2/</guid>
		<description><![CDATA[PowerShellからウェブアプリテスト用のフレームワークWatiNを読み込んでウェブアプリのテストプログラムを書こうとしているのだが、これが一筋縄ではいかない。二重、三重の問題が立ちはだかる。
まずはWatiNをダウ [...]]]></description>
			<content:encoded><![CDATA[<p>PowerShellからウェブアプリテスト用のフレームワークWatiNを読み込んでウェブアプリのテストプログラムを書こうとしているのだが、これが一筋縄ではいかない。二重、三重の問題が立ちはだかる。</p>
<p>まずはWatiNをダウンロードしてWatiN.Core.dllをPowerShellに読み込む。そしてIEを立ち上げてURLに行くという単純な作業をしたいと思い、まずは下のようなコードを書いてみた。ちなみにこのスクリプトはTest.ps1というファイルに保存し、アセンブリが入っているbinフォルダに入れてある。</p>
<pre class="csharpcode">[System.Reflection.Assembly]::LoadFile((Join-Path (Get-Location) <span class="str">"\WatiN.Core.dll"</span>))
$ie = New-Object WatiN.Core.IE
$ie.GoTo(<span class="str"><a href="http://www.devslife.com">http://www.devslife.com</a></span>)</pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>すると次のようなエラーが出る。</p>
<p><span style="color: #ff0000;">New-Object : Exception calling &#8220;.ctor&#8221; with &#8220;0&#8243; argument(s): &#8220;Could not load file or assembly &#8216;Interop.SHDocVw, Version<br />
=1.1.0.0, Culture=neutral, PublicKeyToken=null&#8217; or one of its dependencies. The system cannot find the file specified.&#8221;<br />
At D:\Scripts\WatiN\bin\Test.ps1:2 char:17<br />
+ $ie = New-Object &lt;&lt;&lt;&lt;  WatiN.Core.IE<br />
+ CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException<br />
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand</span></p>
<p>なるほど。PowerShell.exeが入っているフォルダ内（C:\Windows\System32\WindowsPowerShell\v1.0）にInteropアセンブリが入っていないからなのだ。Interop.SHDocVw.dllをPowerShell.exeと同じフォルダ内にコピーするか、再コンパイルをして厳密名をアセンブリにつけるかだがとりあえずPowerShell.exeと同じフォルダにInteropアセンブリをコピーすることにする。PowerShellコンソールを再起動して再びスクリプトを実行すると・・・</p>
<p>今度は下のようなエラーが・・・</p>
<p><span style="color: #ff0000;">New-Object : Exception calling &#8220;.ctor&#8221; with &#8220;0&#8243; argument(s): &#8220;The CurrentThread needs to have it&#8217;s ApartmentState set t<br />
o ApartmentState.STA to be able to automate Internet Explorer.&#8221;<br />
At D:\Scripts\WatiN\bin\Test.ps1:2 char:17<br />
+ $ie = New-Object &lt;&lt;&lt;&lt;  WatiN.Core.IE<br />
+ CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException<br />
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand</span></p>
<p>て、手ごわすぎるぞ。でも上のエラーは完全にWatiNから意図的に投げ出されたものなのでちょっと希望の光が見えてきた。エラーによるとIEの自動化を行うにはスレッドがApartmentState.STAにセットされていなければいけないと。つまりPowerShellをApartment.STAにセットしなければいけないのか。そこでググってみると<a href="http://blogs.msdn.com/powershell/archive/2007/03/23/thread-apartmentstate-and-powershell-execution-thread.aspx" target="_blank">PowerShellチームブログに到着</a>。なんとカスタムアセンブリをこしらえてそれによってSTAにセットせよと。おっしゃあ、こうなったら意地でやってやる。</p>
<p>まずはPowerShellチームブログにあったカスタムCmdletをコンパイルしてそれをインストール。インストールの仕方はこのブログで<a href="http://www.devslife.com/2008/05/04/カスタムコマンドレットを作る（インストール編/" target="_blank">一度紹介している</a>ので参考にしていただきたい。インストールするとInvoke-Apartmentというコマンドレットが利用可能になる。それを使用してTest.ps1ファイル内のPowerShellスクリプトを実行するのだ。</p>
<pre class="csharpcode">Invoke-Apartment <span class="str">"STA"</span> ([System.IO.File]::ReadAllText(<span class="str">"Test.ps1"</span>))</pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>これを実行したらちゃんとIEが立ち上がってURLに行くことができたのだ。これでPowerShellからWatiNを使うことができる。</p>
<p>これは蛇足なのだが、上のコマンドでテキストファイルを読みだしているだけなのにどうしてGet-Contentコマンドを使わなかったというとGet-Contentが行ごとのObject配列を返してくるのでInvoke-Apartmentの二つ目のパラメータのString型と合わないために上のようにした。</p>
<p>あー苦労した。上のことを踏まえてなんとかもっと簡単にWatiNをPowerShellから使えるようにできないものだろうか。</p>
<p>これってどうしてもPowerShellでウェブアプリテストしたいという人には役立ちそうなので英語でも書いてみることにする。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/19/powershell%e3%81%8b%e3%82%89watin%e3%82%92%e4%bd%bf%e3%81%86-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShellでウェブアプリUIテスト</title>
		<link>http://www.devslife.com/2009/02/13/powershell%e3%81%a7%e3%82%a6%e3%82%a7%e3%83%96%e3%82%a2%e3%83%97%e3%83%aaui%e3%83%86%e3%82%b9%e3%83%88/</link>
		<comments>http://www.devslife.com/2009/02/13/powershell%e3%81%a7%e3%82%a6%e3%82%a7%e3%83%96%e3%82%a2%e3%83%97%e3%83%aaui%e3%83%86%e3%82%b9%e3%83%88/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 17:44:54 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/13/powershell%e3%81%a7%e3%82%a6%e3%82%a7%e3%83%96%e3%82%a2%e3%83%97%e3%83%aaui%e3%83%86%e3%82%b9%e3%83%88/</guid>
		<description><![CDATA[と聞くと「おお！誰かがそんなフレームワークを書いたのか！？」と思われそうだが、そうではない。Watirのような完全なラッパー（Yoのラッパーじゃなくて、包むのほう）は自分が知る範囲では存在しない。というのはうそでこのブロ [...]]]></description>
			<content:encoded><![CDATA[<p>と聞くと「おお！誰かがそんなフレームワークを書いたのか！？」と思われそうだが、そうではない。Watirのような完全なラッパー（Yoのラッパーじゃなくて、包むのほう）は自分が知る範囲では存在しない。というのはうそでこのブログを見直している間にそんなフレームワークを発見した。それは最後に述べるとして、IEはCOM経由で.NETから操ることができるのでWatirのようなフレームワークを作るのは時間がかかるかもしれないが、そんなに難しいことではないような気がする。（気がするだけ）前述のように.NETからIEをCOM経由で操ることができるのでPowerShellからもIEを操ることができるのだ。</p>
<p>$ie = New-Object -COM &#8220;InternetExplorer.Application&#8221;</p>
<p>をPowerShellで実行すると$ie変数の中にIEが格納される。それを使ってとりあえず何でも出来てしまうのだ。タスクマネジャーを見てみるとiexplorer.exeのプロセスが出現したのがわかる。では$ie変数に格納されたIEを少々操ってみることにしよう。</p>
<p>$ie.Navigate(&#8220;<a href="http://www.itmedia.co.jp">http://www.itmedia.co.jp</a>&#8220;)<br />$ie.visible = $true</p>
<p>とするとIEが表れて指定したURLへ行ってくれる。</p>
<p>さらに・・・</p>
<p>$ie | gm</p>
<p>を実行すると$ieに格納されたIEオブジェクトのメンバを見ることができる。HTMLのそれぞれの要素への参照を得るには次のようにすると良い。</p>
<p>$txtNamae = $ie.document.getElementByID(&#8220;txtNamae&#8221;)<br />$txtNamae.value = &#8220;名無しのごんべい&#8221;</p>
<p>そうするとテキストフィールドに「名無しのごんべい」という値が入る。</p>
<p>このようにDOMを直接歩いて取り合えず何でも出来てしまいそうだ。ただ前述のとおりフレームワーク化されていないので、PowerShellを使ってすべて自分でUI用のユニットテストを作ろうとするとかなりガシガシ書かなければいけない部分って多そうである。</p>
<p>そういえばPowerShellチームブログで過去に「ユニットテストのPowerShell用のフレームワークって必要だと思う？」と一般の人々に聞いていたのを思い出す。あれってどうなったんだろう？ググってみると<a href="http://testfirst.spaces.live.com/blog/" target="_blank">こんなのもある</a>。面白そう。あれれ？さらにさらに.NET用のWatirで<a href="http://sourceforge.net/projects/watin/" target="_blank">WatiN</a>（ワットイン）というのを発見。これだったらPowerShellで読み込んで出来そう。一番最近の更新が2月12日だから結構最近だ。試してみる価値あるかも。試してみたらまたこのブログで紹介します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/13/powershell%e3%81%a7%e3%82%a6%e3%82%a7%e3%83%96%e3%82%a2%e3%83%97%e3%83%aaui%e3%83%86%e3%82%b9%e3%83%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Send-MailMessage (PowerShell v2)</title>
		<link>http://www.devslife.com/2009/02/12/send-mailmessage-powershell-v2/</link>
		<comments>http://www.devslife.com/2009/02/12/send-mailmessage-powershell-v2/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 01:06:49 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/12/send-mailmessage-powershell-v2/</guid>
		<description><![CDATA[今日仕事をしていてちょっとPowerShellのお力を借りる機会があってスクリプトを書いていた。ディスクの空き容量を調べる本当に単純な4行ぐらいのスクリプトなのだ。それはまた別の機会に紹介することとして、その結果次第でメ [...]]]></description>
			<content:encoded><![CDATA[<p>今日仕事をしていてちょっとPowerShellのお力を借りる機会があってスクリプトを書いていた。ディスクの空き容量を調べる本当に単純な4行ぐらいのスクリプトなのだ。それはまた別の機会に紹介することとして、その結果次第でメールを送りたいと思いいつものようにSmptClientを使い始めたが、待てよ・・・もしかしてV2にはそういうCmdletがあるんじゃないのか？と思ってV2上でget-command | where {$_.Name -match &#8220;mail&#8221;}を実行してやると案の定Send-MailMessageというのが引っ掛かった。パラメータなどな以下のような感じ。</p>
<p><a href="http://www.devslife.com/wp-content/uploads/2009/02/image.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.devslife.com/wp-content/uploads/2009/02/image-thumb.png" width="796" height="111"></a> </p>
<p>早くV2プロダクション環境で使いたいなあ。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/12/send-mailmessage-powershell-v2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cmdletの数</title>
		<link>http://www.devslife.com/2009/02/12/cmdlet%e3%81%ae%e6%95%b0/</link>
		<comments>http://www.devslife.com/2009/02/12/cmdlet%e3%81%ae%e6%95%b0/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 18:56:59 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/12/cmdlet%e3%81%ae%e6%95%b0/</guid>
		<description><![CDATA[どうでもいいことかもしれませんが、PowerShellのV1では129個で、Windows7のPowerShellのV2ではget-command &#124; where {$_CommandType -eq &#8220;Cm [...]]]></description>
			<content:encoded><![CDATA[<p>どうでもいいことかもしれませんが、PowerShellのV1では129個で、Windows7のPowerShellのV2ではget-command | where {$_CommandType -eq &#8220;Cmdlet&#8221;}として変数に入れてその結果の数を数えると、235個でした。今のところCmdletが106個も増えたことになります。どうでもいいけどちょっと気になる数字でした。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/12/cmdlet%e3%81%ae%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShellのバージョン</title>
		<link>http://www.devslife.com/2009/02/09/powershell%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3/</link>
		<comments>http://www.devslife.com/2009/02/09/powershell%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 01:37:42 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/2009/02/09/powershell%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3/</guid>
		<description><![CDATA[今このブログを書いている時点ではバージョン２のCTP３が出ている状態です。もし書いたスクリプトがどうしてもV2の機能を必要とするという場合は次のようにコメントをスクリプトの一番最初の行に入れておくといいそうです。元ネタは [...]]]></description>
			<content:encoded><![CDATA[<p>今このブログを書いている時点ではバージョン２のCTP３が出ている状態です。もし書いたスクリプトがどうしてもV2の機能を必要とするという場合は次のようにコメントをスクリプトの一番最初の行に入れておくといいそうです。<a href="http://blogs.msdn.com/powershell/archive/2009/02/06/requires-your-scripts.aspx" target="_blank">元ネタはMSのWindows PowerShell Blogから</a>。</p>
<pre class="csharpcode">#requires -version 2</pre>
<p>そうすればスクリプトを実行した時点で「おんどりゃあ、Windows PowerShellの2.0必要なんじゃい！」とお叱り頂けるそうです。ｗ</p>
<p>&nbsp;</p>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2009/02/09/powershell%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell CTP3</title>
		<link>http://www.devslife.com/2008/12/26/powershell-ctp3/</link>
		<comments>http://www.devslife.com/2008/12/26/powershell-ctp3/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 06:43:12 +0000</pubDate>
		<dc:creator>入海</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.devslife.com/?p=2113</guid>
		<description><![CDATA[ゲームに夢中になっている間にPowerShellのCTP3がリリースされていました。始めのCTPからもう一年ぐらい経っているのでそろそろV２はリリースかなあと思うのですが。来年にリリースされるWindows Server [...]]]></description>
			<content:encoded><![CDATA[<p>ゲームに夢中になっている間に<a href="http://blogs.msdn.com/powershell/archive/2008/12/23/early-christmas-present-from-powershell-team-community-technology-preview-3-ctp3-of-windows-powershell-v2.aspx" target="_blank">PowerShellのCTP3がリリース</a>されていました。始めのCTPからもう一年ぐらい経っているのでそろそろV２はリリースかなあと思うのですが。来年にリリースされるWindows Server 2008 R2やWindows 7にはPowerShell V2は含まれるようですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devslife.com/2008/12/26/powershell-ctp3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
