powershell - 将字符串属性添加到现有 Powershell 对象的正确方法?

标签 powershell powershell-4.0 powershell-5.0

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

仅供引用,我正在使用 powershell v4,但如果有 v5 的解决方案也很好。

最佳答案

除了重新创建对象或确保属性存在于对象初始化之外,您必须使用 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

关于powershell - 将字符串属性添加到现有 Powershell 对象的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53160038/

相关文章:

powershell - 在 Powershell 中加入具有不间断空格的字符串

powershell - 使用 powershell/7za.exe 提取多个 zip 文件?

powershell - 如何从 Powershell 4 指向 Powershell 版本 3?

windows - 如果脚本具有强制参数,则 Powershell 调用函数

powershell - 在PowerShell中的mshtml.HTMLDocumentClass对象上使用querySelectorAll会导致崩溃

powershell - 对PowerShell 5.1中的错误以正确的语法进行响应

powershell - PowerShell 中的 Azure 函数用于解压文件

regex - 使用正则表达式和 PowerShell 将以空格开头的行与上一行合并

json - 从JSON提取值

powershell - 使用文本文件遍历PowerShell命令