Variables 将成员递增为对象时出错
以及 $objResult | gm 是: 为什么不将所有的吉祥物添加到对象中? 每个新属性都应该在值为$cell的$i迭代之后插入 而且我也不知道是什么问题。 它应该是这样的:Variables 将成员递增为对象时出错,variables,powershell,Variables,Powershell,以及 $objResult | gm 是: 为什么不将所有的吉祥物添加到对象中? 每个新属性都应该在值为$cell的$i迭代之后插入 而且我也不知道是什么问题。 它应该是这样的: Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Obje
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 Ts。T0必须显示为:T0---1384630490 1385148607,现在是:T0--1384630490 1384630490 1384630490 1384630490 1384630490 1384630490我认为它缺少$list中的第二个元素,或者它保存在其他地方,我对每个对象重置$I进行了更改。您对T0中应该包含的内容的描述似乎与您在原始帖子中描述的内容不匹配。是的,正是现在我正在写作,我成功了..我必须在远端内部循环中重新初始化$I:)非常感谢!!!“$objResult+=$objResult+=”??最大值只能为28 Ts,并且超过44 Ts。T0必须显示为:T0---1384630490 1385148607,现在是:T0--1384630490 1384630490 1384630490 1384630490 1384630490 1384630490我认为它缺少$list中的第二个元素,或者它保存在其他地方,我对每个对象重置$I进行了更改。您对T0中应该包含的内容的描述似乎与您在原始帖子中描述的内容不匹配。是的,正是现在我正在写作,我成功了..我必须在远端内部循环中重新初始化$I:)非常感谢!!!