建立一個新物件

與其他一些指令碼語言不同,PowerShell 通過管道傳送物件。這意味著當你將資料從一個命令傳送到另一個命令時,能夠建立,修改和收集物件至關重要。

建立物件很簡單。你建立的大多數物件都是 PowerShell 中的自定義物件,其使用的型別是 PSObject。PowerShell 還允許你建立可以在 .NET 中建立的任何物件。

以下是使用一些屬性建立新物件的示例:

選項 1:新物件

$newObject = New-Object -TypeName PSObject -Property @{
    Name = $env:username
    ID = 12
    Address = $null
}

# Returns
PS> $newObject
Name ID Address
---- -- -------
nem  12

你可以通過使用 $newObject = 新增命令來將物件儲存在變數中

你可能還需要儲存物件集合。這可以通過建立一個空的集合變數,並將物件新增到集合中來完成,如下所示:

$newCollection = @()
$newCollection += New-Object -TypeName PSObject -Property @{
    Name = $env:username
    ID = 12
    Address = $null
}

然後,你可能希望按物件迭代此集合物件。為此,請在文件中找到迴圈部分。

選項 2:選擇物件

建立在 Internet 上仍然可以找到的物件的不太常見的方法如下:

$newObject = 'unuseddummy' | Select-Object -Property Name, ID, Address
$newObject.Name = $env:username
$newObject.ID = 12

# Returns
PS> $newObject
Name ID Address
---- -- -------
nem  12

選項 3:pscustomobject 型別加速器(需要 PSv3 +)

有序型別加速器強制 PowerShell 按我們定義它們的順序保留屬性。你不需要有序的型別加速器來使用 [PSCustomObject]

$newObject = [PSCustomObject][Ordered]@{
    Name = $env:Username
    ID = 12
    Address = $null
}

# Returns
PS> $newObject
Name ID Address
---- -- -------
nem  12