COMオブジェクトを生成する
Web Cast
TechNet Webcast: Next Generation Command Line Scripting with Monad (Part 2 of 2) (Level 300)によると、
以下のように打てばWScipt.Shellオブジェクトを生成できるようです。
MSH> $ws = new-object -com wscript.shell
ですが、実際にMSH beta1で、上記の通り入力してみると、
以下のエラー。
MSH> $ws = new-object -com wscript.shell new-object : A parameter cannot be found that matches parameter 'com'. At line:1 char:22 + $ws = new-object -com <<<< wscript.shell
- 「-com」というパラメータがが正しくないと言われます。
WinFX SDK
MSH Language and Syntaxを見ると、
COM取得時、new-objectの第1引数には「-ActiveX」を取るらしい。
MSH> $wsh = New-Object -ActiveX "WScript.Shell"
さっそく打ってみますが、さっきと同様にエラー。
MSH> $wsh = New-Object -ActiveX "WScript.Shell" new-object : A parameter cannot be found that matches parameter 'ActiveX'. At line:1 char:27 + $wsh = New-Object -ActiveX <<<< "WScript.Shell"
どこが間違っているの?と悩んでいると、このような記事を発見。
http://www.leeholmes.com/blog/ParamStatementAndNewobject.aspx
MSH Beta1の「new-object」は、.NETオブジェクトのみサポートで、
COMはまだサポートしていないようです。
「new-object」のヘルプを見てみると、
確かに、「Creates a new .Net object」と書いてありました。(^^;
MSH> new-object -? NAME new-object SYNOPSIS [-TypeName] type-name [[-Arguments] arguments] [-AssemblyName] [-FileName] Creates a new .Net object