建立物件

New-Object cmdlet 用於建立物件。

# Create a DateTime object and stores the object in variable "$var"
$var = New-Object System.DateTime

# calling constructor with parameters
$sr = New-Object System.IO.StreamReader -ArgumentList "file path"

在許多情況下,將建立一個新物件以匯出資料或將其傳遞給另一個命令列開關。這可以這樣做:

$newObject = New-Object -TypeName PSObject -Property @{
    ComputerName = "SERVER1"
    Role = "Interface"
    Environment = "Production"
}

建立物件的方法有很多種。以下方法可能是建立 PSCustomObject 的最短,最快的方法:

$newObject = [PSCustomObject]@{
    ComputerName = 'SERVER1'
    Role         = 'Interface'
    Environment  = 'Production'
}

如果你已經有了一個物件,但只需要一個或兩個額外的屬性,你只需使用 Select-Object 新增該屬性:

Get-ChildItem | Select-Object FullName, Name, 
    @{Name='DateTime'; Expression={Get-Date}}, 
    @{Name='PropertieName'; Expression={'CustomValue'}}

所有物件都可以儲存在變數中或傳遞到管道中。你還可以將這些物件新增到集合中,然後在結尾顯示結果。

物件集合與 Export-CSV(和 Import-CSV)配合良好。CSV 的每一行都是一個物件,每一列都是一個屬性。

格式命令將物件轉換為文字流以供顯示。避免使用 Format- *命令直到任何資料處理的最後一步,以保持物件的可用性。