Variables 将成员递增为对象时出错

Variables 将成员递增为对象时出错,variables,powershell,Variables,Powershell,以及 $objResult | gm 是: 为什么不将所有的吉祥物添加到对象中? 每个新属性都应该在值为$cell的$i迭代之后插入 而且我也不知道是什么问题。 它应该是这样的: Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Obje

以及

$objResult | gm

是:

为什么不将所有的吉祥物添加到对象中? 每个新属性都应该在值为$cell的$i迭代之后插入 而且我也不知道是什么问题。 它应该是这样的:

Name        MemberType   Definition                    
----        ----------   ----------                    
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()             
GetType     Method       type GetType()                
ToString    Method       string ToString()             
T0          NoteProperty System.String T0=1384630490   

等等。

如果希望每行有一个对象,则需要在创建对象之前将所有属性累积到一个散列中:

Name        MemberType   Definition                    
----        ----------   ----------                    
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()             
GetType     Method       type GetType()                
ToString    Method       string ToString()             
T0          NoteProperty System.String T0=1384630490
T1          NoteProperty System.String T1=1
T2          NoteProperty System.String T2=68
T3          NoteProperty System.String T3=4
T4          NoteProperty System.String T4=adm-media03

现在,您正在为行拆分中的每个项目创建一个具有单个属性的对象。

如果您希望每行有一个对象,则需要在创建对象之前将所有属性累积到一个散列中:

Name        MemberType   Definition                    
----        ----------   ----------                    
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()             
GetType     Method       type GetType()                
ToString    Method       string ToString()             
T0          NoteProperty System.String T0=1384630490
T1          NoteProperty System.String T1=1
T2          NoteProperty System.String T2=68
T3          NoteProperty System.String T3=4
T4          NoteProperty System.String T4=adm-media03

现在,您正在为行拆分中的每个项创建一个具有单个属性的对象。

这是因为您在最内部的foreach循环的每次迭代中都创建一个新的PSObject

与此相反,您可能希望使用如下添加成员:

$list = @()
$cels = @()
$objResult = @()


$list = 
"1384630490 1 68 4 adm-media03 4184066 4184062 0 nbpem CLIENT  POLICY SBT_windows_srv_siteservers_isolation  SCHED Diff  EXIT STATUS 0 (the requested operation was successfully completed)",
"1385148607 1 68 4 adm-media01 4277480 4277295 0  nbpem CLIENT   POLICY   SCHED Full  EXIT STATUS 87 (media close error)"

    foreach ($row in $list){

    $i = 0

    $PropertyHash = @{}

    $cels = $row.split(" ")

    foreach ($cel in $cels) {

        $PropertyHash +=  @{
            "T$i" = $cel
          }
        $i++

    } 

  $objResult += $objResult += New-Object -TypeName PSObject -Property $PropertyHash     
}

$objResult

这是因为在最内部的foreach循环的每次迭代中都要创建一个新的PSObject

与此相反,您可能希望使用如下添加成员:

$list = @()
$cels = @()
$objResult = @()


$list = 
"1384630490 1 68 4 adm-media03 4184066 4184062 0 nbpem CLIENT  POLICY SBT_windows_srv_siteservers_isolation  SCHED Diff  EXIT STATUS 0 (the requested operation was successfully completed)",
"1385148607 1 68 4 adm-media01 4277480 4277295 0  nbpem CLIENT   POLICY   SCHED Full  EXIT STATUS 87 (media close error)"

    foreach ($row in $list){

    $i = 0

    $PropertyHash = @{}

    $cels = $row.split(" ")

    foreach ($cel in $cels) {

        $PropertyHash +=  @{
            "T$i" = $cel
          }
        $i++

    } 

  $objResult += $objResult += New-Object -TypeName PSObject -Property $PropertyHash     
}

$objResult

T$i属性必须包含$list第1行的第一个元素的值和$list第2行的第一个元素的值。像这样,在T$i+n:T0----1384630490 1385148607中添加类似的内容。T$i属性必须包含来自$list第1行的第一个元素的值和来自$list第2行的第一个元素的值。像这样在T$i+n:T0----1384630490 1385148607中加上类似的东西??最大值只能为28 T
s,并且超过44 T
s。T0必须显示为:T0---1384630490 1385148607,现在是:T0--1384630490 1384630490 1384630490 1384630490 1384630490 1384630490我认为它
缺少$list中的第二个元素,或者它保存在其他地方,我对每个对象重置$I进行了更改。您对T0中应该包含的内容的描述似乎与您在原始帖子中描述的内容不匹配。是的,正是现在我正在写作,我成功了..我必须在远端内部循环中重新初始化$I:)非常感谢!!!“$objResult+=$objResult+=”??最大值只能为28 T
s,并且超过44 T
s。T0必须显示为:T0---1384630490 1385148607,现在是:T0--1384630490 1384630490 1384630490 1384630490 1384630490 1384630490我认为它
缺少$list中的第二个元素,或者它保存在其他地方,我对每个对象重置$I进行了更改。您对T0中应该包含的内容的描述似乎与您在原始帖子中描述的内容不匹配。是的,正是现在我正在写作,我成功了..我必须在远端内部循环中重新初始化$I:)非常感谢!!!