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

PowerShell PnP查询SharePoint2019列表转HTML表格异常问题

问题原因

脚本无法生成正确HTML表格的核心问题如下:

  • Select-Object用法错误:你将4个需要展示的字段全部包裹在同一个脚本块{}中,管道最终输出的是仅含单个属性的对象,ConvertTo-Html只能识别到1列,无法生成预期的多列表格。
  • 字段取值未做适配:直接通过$_["字段内部名"]取到的是SharePoint原始字段对象,日期类字段直接转HTML会输出非可读的类型信息,无法正常展示日期值。
  • 冗余格式转换:给$listitems赋值时已经执行了Out-String转换,调用Send-MailMessage时又重复套了一层Out-String,会导致邮件内容出现多余空行、格式错乱。
  • 额外不规范写法:CAML查询中FieldRef节点添加的Type='DateTime'属于无效属性,部分环境下可能导致查询结果不符合预期,建议删除。
修正后的完整脚本
$smtpserver = "-"
$mailsender ="-"
$mailReceiver = "-"
$mailSubject = "Certificates about to expire"

$Header = @"
<style>
TABLE {border-width: 1px; border-style: solid; border-color: black; border-collapse: collapse;}
TH {border-width: 1px; padding: 3px; border-style: solid; border-color: black; background-color: #f0f0f0;}
TD {border-width: 1px; padding: 3px; border-style: solid; border-color: black;}
</style>
"@

Import-Module "C:\PNP\SharePointPnPPowerShell2019\3.6.1902.2\SharePointPnPPowerShell2019.psd1"
if ($cred -eq $null)
{ 
    $cred = Get-Credential
}
Connect-PnPOnline "-" -Credentials $cred
$list = Get-PnPList "-"

# 修正CAML查询、字段选择与格式转换逻辑
$rawItems = Get-PnPListItem -List $list -Query "<View><Query><Where><Lt><FieldRef Name='Utg_x00e5_r'/><Value Type='DateTime'><Today OffsetDays='60'/></Value></Lt></Where></Query></View>"

if ($rawItems.Count -eq 0) {
    $mailBody = "未来60天内无即将过期的证书记录"
} else {
    $mailBody = $rawItems | Select-Object `
        @{Name="证书标题";Expression={$_["Title"]}},
        @{Name="所属农场";Expression={$_["Farm"]}},
        @{Name="所属服务器";Expression={$_["Server"]}},
        @{Name="过期时间";Expression={if($_["Utg_x00e5_r"]) {$_["Utg_x00e5_r"].ToString("yyyy-MM-dd")} else {"未填写"}}} |
        ConvertTo-Html -Head $Header | Out-String
}

# 移除冗余Out-String调用,直接发送邮件
Send-MailMessage -From $mailsender -to $mailReceiver -subject $mailSubject -body $mailBody -SmtpServer $smtpServer -Port 25 -BodyAsHtml

你可以根据实际需求修改Select-Object中定义的列名、日期格式化规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 23:48:52