在 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