在 PowerShell 中向物件新增屬性

Marion Paul Kenneth Mendoza 2023年1月30日 2022年5月14日
  1. 在 PowerShell 中使用 Hashtable 建立自定義物件
  2. 使用 Add-Member 向 PowerShell 中的物件新增屬性
在 PowerShell 中向物件新增屬性

本文將討論如何向 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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

相關文章 - PowerShell Object