HOME > Object系コマンドレット > New-Object
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" |
-Strict | COMオブジェクトが.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コンポーネントがインストールされている必要があります。
- オブジェクトの作成に失敗した場合のエラーハンドリングを実装することをおすすめします。
関連項目
- Object系コマンドレット
- New-Object:オブジェクトを作成する
- Compare-Object:オブジェクトを比較する
- Sort-Object:オブジェクトをソートする
- Select-Object:オブジェクトを選択する
- ForEach-Object:オブジェクトを順次処理する
- Where-Object:オブジェクトをプロパティ値で選択する
- Group-Object:オブジェクトをグルーピングする
- Measure-Object:オブジェクトを指定した条件で計算する
- Tee-Object:オブジェクト出力を分岐する