PowerShell:正在将HTML追加到具有多个值的属性



如何将一些HTML标记(<td></td>(附加到现有属性?

我在这个问题上已经有一段时间了,现在运气不好。。。

$teamConfig = @(
[pscustomobject]@{
TeamName  = 'Team1'
TeamEmail = 'team1@domain.tld'
}
[pscustomobject]@{
TeamName  = 'Team2'
TeamEmail = 'team2@domain.tld'
}
)
$query = "select * from INCAutomation"
$results = Invoke-Sqlcmd -query $query -ServerInstance 'localhost' -Database 'AyushTest'
$teamTickets = foreach($team in $teamConfig){
# Filter tickets based on team name
$ticketIds = $results |Where-Object TeamName -eq $team.TeamName |Select -ExpandProperty TicketID
# Output a single object per team, with all ticket IDs attached
$team |Select TeamName,TeamEmail,@{Name='TicketID';Expression={$ticketIds}}
}
$teamTickets

输出:

TeamName TeamEmail        TicketID
-------- ---------        --------
Team1    team1@domain.tld {INC0001, INC0002, INC0003, INC0004}
Team2    team2@domain.tld {INC0005, INC0006, INC0007}

期望输出:

TeamName TeamEmail        TicketID
-------- ---------        --------
Team1    team1@domain.tld {<td>INC0001</td>, <td>INC0002</td>, <td>INC0003</td>, <td>INC0004</td>}
Team2    team2@domain.tld {<td>INC0005</td>, <td>INC0006</td>, <td>INC0007</td>}

提前感谢!

我认为应该通过循环运行它们,并修改每个字符串以添加所需的文本。您可以这样做,并将修改后的字符串添加到一个新对象中,您可以使用该对象将原始$ticketIds变量替换为输出中的Expression

下面是一个修改后的代码示例:

$teamConfig = @(
[pscustomobject]@{
TeamName  = 'Team1'
TeamEmail = 'team1@domain.tld'
}
[pscustomobject]@{
TeamName  = 'Team2'
TeamEmail = 'team2@domain.tld'
}
)
$query = "select * from INCAutomation"
$results = Invoke-Sqlcmd -query $query -ServerInstance 'localhost' -Database 'AyushTest'
$teamTickets = foreach($team in $teamConfig){
# Filter tickets based on team name
$ticketIds = $results |Where-Object TeamName -eq $team.TeamName |Select -ExpandProperty TicketID
# Create an empty array
$ticketIdArray = @()
foreach ($id in $ticketIds) {
# Modify the string to include the desired output
$thisId = '<td>' + "$id" + '</td>'
# Add the modified string to the empty array
$ticketIdArray += $thisId
}
# Output a single object per team, with all ticket IDs attached
$team |Select TeamName,TeamEmail,@{Name='TicketID';Expression={$ticketIdArray}}
}
$teamTickets

最新更新