如何对PSCustomObject按Name属性排序并转换为HTML表格?
实现方法
你只需要把循环生成的所有自定义对象先统一收集,再按DisplayName字段做A-Z排序,最后转换为HTML表格片段即可。修改后的完整脚本如下:
$cutoff = (Get-Date).AddDays(-200) # 收集所有处理后的用户对象 $processedUsers = foreach ($user in Get-ADUser -Filter {LastLogonDate -lt $cutoff -and Enabled -eq $True} ` -SearchBase 'DC=contoso,DC=com' -SearchScope Subtree -Properties 'SamAccountName' , 'Name') { $LogonDate = (Get-RealLogonDate -sAMAccountName $user.SamAccountName -Domain contoso.com).DateTime [PSCustomObject] [ordered] @{ DisplayName = $user.Name LastLogon = $LogonDate } } # 按DisplayName升序排序,再生成HTML表格片段 $htmlTable = $processedUsers | Sort-Object DisplayName | ConvertTo-Html -Fragment -As Table # 输出或保存表格片段 $htmlTable
关键改动说明:
- 将原循环的输出结果赋值给
$processedUsers变量,统一存储所有处理后的用户对象 - 用
Sort-Object DisplayName对对象集合按DisplayName字段做A-Z升序排序 - 最后通过管道传递给
ConvertTo-Html -Fragment -As Table生成HTML表格片段
内容的提问来源于stack exchange,提问作者Arbelac
相关产品推荐
相关产品推荐

