在 PowerShell 中向物件新增屬性
Marion Paul Kenneth Mendoza
2023年1月30日
本文將討論如何向 PowerShell 物件新增屬性。
在 PowerShell 中使用 Hashtable 建立自定義物件
在向物件新增屬性之前,我們必須先建立一個。一種方法是通過雜湊表。
簡而言之,雜湊表是我們需要在 PowerShell 中建立和分配物件屬性的一組鍵或值對。在示例中,我們正在建立一個表示單個物件及其屬性的雜湊表。
一旦定義了雜湊表 $sampleHashtable
,我們就可以使用 PSCustomObject
型別加速器來建立 PSCustomObject
類的例項。
執行程式碼片段後,我們將獲得型別為 PSCustomObject
的物件 $sampleHashtable
,其屬性在程式中定義。
示例 1:
## Define the hashtable
$sampleHashtable = @{
ID = 1;
Shape = "Square";
Color = "Blue"
}
## Create an object
$ShapeObject = [PsCustomObject]$sampleHashtable
或者,我們可以使用 New-Object
cmdlet 使用雜湊表建立我們的物件。
我們將使用相同的雜湊表。但是,我們不使用 PSCustomObject
型別加速器,而是使用 New-Object
的長格式方式來完成。
示例 2:
## Define the hashtable
$sampleHashtable = @{
ID = 1;
Shape = "Square";
Color = "Blue"
}
## Create an object
$ShapeObject = New-Object -TypeName PsObject -Properties $sampleHashtable
正如我們所見,在建立 $sampleHashtable
之後,我們將能夠引用每個屬性,就好像它來自內建的 PowerShell cmdlet,例如 Get-Service
。
使用 Add-Member
向 PowerShell 中的物件新增屬性
我們不僅可以在 PowerShell 中建立自定義物件,還可以通過 Add-Member
命令新增到它們。
Add-Member
cmdlet 不會列出成員,而是新增它們。現在,使用我們在上面建立的相同物件,我們可以通過管道 Add-Member
向它新增自定義屬性。
例子:
$ShapeObject | Add-Member -MemberType NoteProperty -Name 'Sides' -Value '4'
Write-Output $ShapeObject
輸出:
Color Shape ID Sides
----- .------ -- -----
Blue Square 1 4
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn