更新对象
添加属性
如果要向现有对象添加属性,可以使用 Add-Member cmdlet。使用 PSObjects,值保存在注释属性类型中
$object = New-Object -TypeName PSObject -Property @{
Name = $env:username
ID = 12
Address = $null
}
Add-Member -InputObject $object -Name "SomeNewProp" -Value "A value" -MemberType NoteProperty
# Returns
PS> $Object
Name ID Address SomeNewProp
---- -- ------- -----------
nem 12 A value
你还可以使用 Select-Object Cmdlet 添加属性(所谓的计算属性):
$newObject = $Object | Select-Object *, @{label='SomeOtherProp'; expression={'Another value'}}
# Returns
PS> $newObject
Name ID Address SomeNewProp SomeOtherProp
---- -- ------- ----------- -------------
nem 12 A value Another value
上面的命令可以缩短为:
$newObject = $Object | Select *,@{l='SomeOtherProp';e={'Another value'}}
删除属性
你可以使用 Select-Object Cmdlet 从对象中删除属性:
$object = $newObject | Select-Object * -ExcludeProperty ID, Address
# Returns
PS> $object
Name SomeNewProp SomeOtherProp
---- ----------- -------------
nem A value Another value