【问题标题】:New-Object add-member - cannot add a member - powershell新对象添加成员 - 无法添加成员 - powershell
【发布时间】:2017-11-12 12:11:44
【问题描述】:

我有一个问题:( 当我添加与以前 Object 具有相同属性名称的新对象时,我有很多错误。

“添加成员:无法添加名称为“ServerName”的成员,因为 具有该名称的成员已存在。无论如何要覆盖该成员, 将 Force 参数添加到您的命令中。”

它可以工作,但有错误;) 有人帮我解决吗??

下面的示例代码:

$OutputObj = @()

$OutputObj += New-Object -TypeName PSobject
$OutputObj | Add-Member -MemberType NoteProperty -Name ServerName -Value "server1"
$OutputObj | Add-Member -MemberType NoteProperty -Name Status -Value "online"
$OutputObj | Add-Member -MemberType NoteProperty -Name Uptime -Value "01:20"

$OutputObj += New-Object -TypeName PSobject
$OutputObj | Add-Member -MemberType NoteProperty -Name ServerName -Value "server2"
$OutputObj | Add-Member -MemberType NoteProperty -Name Status -Value "online"
$OutputObj | Add-Member -MemberType NoteProperty -Name Uptime -Value "01340"

【问题讨论】:

    标签: powershell psobject


    【解决方案1】:

    您是在数组上添加成员,而不是在对象上。请尝试以下操作:

    $OutputObj = @()
    
    $NewObj = New-Object -TypeName PSobject
    $NewObj | Add-Member -MemberType NoteProperty -Name ServerName -Value "server1"
    $NewObj | Add-Member -MemberType NoteProperty -Name Status -Value "online"
    $NewObj | Add-Member -MemberType NoteProperty -Name Uptime -Value "01:20"
    
    $OutputObj += $NewObj
    
    $NewObj = New-Object -TypeName PSobject
    $NewObj | Add-Member -MemberType NoteProperty -Name ServerName -Value "server2"
    $NewObj | Add-Member -MemberType NoteProperty -Name Status -Value "online"
    $NewObj | Add-Member -MemberType NoteProperty -Name Uptime -Value "01340"
    $OutputObj += $NewObj
    

    或者,我会执行以下操作:

    $OutputObj = @()
    $OutputObj += New-Object -TypeName PSobject -Property @{
        ServerName = "server1"
        Status = "Online"
        Uptime = "01:20"
    }
    
    
    $OutputObj += New-Object -TypeName PSobject -Property @{
        ServerName = "server2"
        Status = "Online"
        Uptime = "01340"
    }
    

    由于每次使用 Add-Member 都会销毁并生成一个新对象。

    【讨论】:

    • 但我需要一个对象
    • 在您的 $OutpuObj 解决方案输出中只有最后一个成员 - server2,我需要 server1 和 server2 在输出中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    相关资源
    最近更新 更多