min*_*ino 3 powershell psobject
我有一个问题:(当我添加与之前的 Object 属性同名的 New 对象时,出现很多错误。
“Add-Member:无法添加名为“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"
Run Code Online (Sandbox Code Playgroud)
您正在将成员添加到数组上,而不是对象上。请尝试以下操作:
$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
Run Code Online (Sandbox Code Playgroud)
或者,我会执行以下操作:
$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"
}
Run Code Online (Sandbox Code Playgroud)
由于 Add-Member 每次使用时都会销毁并生成一个新对象。
| 归档时间: |
|
| 查看次数: |
4702 次 |
| 最近记录: |