PowerShellコマンドレット虎の巻

New-Object

New-Objectは、オブジェクトを作成するコマンドです。

エイリアスなし

解説

.NET Frameworkクラスの新しいインスタンスやCOMオブジェクトを作成します。

構文

(構文)
New-Object [-TypeName] <string> [[-ArgumentList] <Object[]>] [<CommonParameters>] New-Object [-ComObject] <string> [<CommonParameters>]
【主要パラメータ】
パラメータ説明
-TypeName クラス名.NETクラスの名前を指定して新しいインスタンスを作成する
※必須パラメータ
(例)-TypeName System.Text.StringBuilder
-ComObject 識別子COMオブジェクトのプログラム識別子(ProgID)を指定して新しいインスタンスを作成する
(例)New-Object -ComObject WScript.Shell
-ArgumentList リストオブジェクトのコンストラクタに渡す引数のリストを指定する
(例)New-Object -TypeName System.Diagnostics.EventLog -ArgumentList "Application"
-StrictCOMオブジェクトが.NET Frameworkランタイム呼び出し可能ラッパー(RCW)を使用している場合に警告を表示する
(例)New-Object -ComObject Excel.Application -Strict
-Property プロパティ新しく作成されたオブジェクトのプロパティと値のハッシュテーブルを指定する
(例)New-Object -TypeName PSObject -Property @{Name="Value"; ID=1}

共通的なパラメータは「共通パラメータ」をご覧ください。

サンプル

Pingオブジェクトを取得して変数pにセットする。その後Pingを実行してみる

$p = New-Object System.Net.NetworkInformation.Ping $res = $p.Send("192.168.1.1") Write-Host $res.Status Success

System.Collections.ArrayListオブジェクトを作成する

$list = New-Object -TypeNamet System.Collections.ArrayList

パラメータ名"-TypeName"は省略可能です。

System.DateTimeオブジェクトを作成する

$dateTime = New-Object -TypeName System.DateTime

パラメータ名"-TypeName"は省略可能です。

System.Text.StringBuilderオブジェクトを作成する

$sb = New-Object -TypeName System.Text.StringBuilder $sb.Append("A") $sb.Append("B") $sb.Append("C") $sb.ToString() ⇒ABC

パラメータ名"-TypeName"は省略可能です。

コマンドのヘルプを表示する

Get-Help New-Object

備考

  • COMオブジェクトを使用する際には、システムに適切なCOMコンポーネントがインストールされている必要があります。
  • オブジェクトの作成に失敗した場合のエラーハンドリングを実装することをおすすめします。

関連項目