【发布时间】:2020-12-30 06:46:03
【问题描述】:
我有一组用于团队名称和电子邮件的对象,以及与该团队相关联的票在一个单独的数组中,但是它并没有像预期的那样工作,我已经被这个难住了一段时间......
代码:
$teamConfig = @(
[pscustomobject]@{
TeamName='Team1';
}
)
$query = "select * from INCAutomation"
$results = Invoke-Sqlcmd -query $query -ServerInstance 'localhost' -Database 'AyushTest'
$collectionWithItems = @()
$array = @()
foreach ($i in $results) {
foreach ($x in $teamConfig) {
if ($i.TeamName -eq $x.TeamName) {
$array += $i.TicketID
$temp = New-Object System.Object
$temp | Add-Member -MemberType NoteProperty -Name "TeamName" -Value $i.TeamName
$temp | Add-Member -MemberType NoteProperty -Name "TeamEmail" -Value $i.TeamEmail
$temp | Add-Member -MemberType NoteProperty -Name "TicketID" -Value $array
$collectionWithItems += $temp
}
}
}
$collectionWithItems = $collectionWithItems | select 'TeamName', 'TeamEmail', 'TicketID' -Unique
$collectionWithItems
输出:
TeamName TeamEmail TicketID
-------- --------- --------
Team1 Team1@test.com {INC0001}
Team1 Team1@test.com {INC0001, INC0002}
Team1 Team1@test.com {INC0001, INC0002, INC0003}
Team1 Team1@test.com {INC0001, INC0002, INC0003, INC0004}
期望的输出:
TeamName TeamEmail TicketID
-------- --------- --------
Team1 Team1@test.com {INC0001, INC0002, INC0003, INC0004}
我也感到困惑的另一件事是,这需要与多个团队合作,例如:
$teamConfig = @(
[pscustomobject]@{
TeamName='Team1';
}
[pscustomobject]@{
TeamName='Team2';
}
[pscustomobject]@{
TeamName='Team3';
}
)
因此,所需的输出应该是:
TeamName TeamEmail TicketID
-------- --------- --------
Team1 Team1@test.com {INC0001, INC0002, INC0003, INC0004}
Team2 Team2@test.com {INC0005, INC0006, INC0007, INC0008}
Team3 Team3@test.com {INC0009, INC0010, INC0011, INC0012}
提前致谢!
【问题讨论】:
标签: powershell