【问题标题】:Correct way to add a string property to existing Powershell object?将字符串属性添加到现有 Powershell 对象的正确方法?
【发布时间】:2019-04-09 03:30:02
【问题描述】:

例如,我有一个$server 的自定义对象。我想创建一个新属性 $server.output 以包含不同大小的多行输出。最好的方法是什么?网上似乎没有任何关于如何向对象添加简单字符串属性的直接信息?

仅供参考,我使用的是 powershell v4,但如果也有 v5 的解决方案会很好。

【问题讨论】:

  • 查看 Add-Member cmdlet。

标签: powershell powershell-4.0 powershell-5.0


【解决方案1】:

除了重新创建对象或确保该属性存在于对象初始化时,您必须使用Add-Memberpscustomobject 上创建新属性:

# alternatively, use `-Force` on `Add-Member`
if (-not ($obj | Get-Member -Name output))
{
    $obj | Add-Member -MemberType NoteProperty -Name output -Value ''
}

在 v3+ 中支持:

$obj | Add-Member -NotePropertyName output -NotePropertyValue '' -Force

添加多个成员:

$obj | Add-Member -NotePropertyMembers @{output = ''; output1 = ''} -Force

Add-Member

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多