You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell:为多值属性追加HTML标签的实现方法

解决PowerShell中为TicketID追加HTML <td>标签的问题

很简单,你只需要在生成TicketID这个计算属性的时候,对每个TicketID值单独进行HTML标签包裹处理就可以了。原来的代码只是直接返回了原始的TicketID数组,我们只需要在Expression里加上一个ForEach-Object循环,给每个ID套上<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 wrapped in <td> tags
    $team | Select TeamName,TeamEmail,@{
        Name='TicketID';
        Expression={ $ticketIds | ForEach-Object { "<td>$_</td>" } }
    }
}
$teamTickets

关键修改点

在计算属性的Expression中,我们把原来的直接返回$ticketIds改成了:

$ticketIds | ForEach-Object { "<td>$_</td>" }

这会遍历每个TicketID值,将其拼接成<td>INCXXXX</td>的格式,最终返回一个包含所有处理后字符串的数组。

运行后的输出

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>}

完全符合你期望的结果。

内容的提问来源于stack exchange,提问作者yush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:29:21