建立一個新物件
與其他一些指令碼語言不同,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