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

基于查询结果通过SSRS发送邮件及Teams消息的实现方案咨询

解决方案:基于未开机电脑数据发送提醒

方案一:PowerShell脚本(灵活可控,适合IT运维)

这是最直接的实现方式,适合有基础运维经验的场景,能直接对接查询结果,同时支持邮件和Teams消息推送。

操作步骤:

  1. 获取查询数据:将你的查询结果导出为CSV文件,或者直接在PowerShell中连接数据库执行查询(以SQL Server为例)
    示例(读取CSV文件):
    $offlineDevices = Import-Csv -Path "C:\ITTools\OfflineDevices_20days.csv"
    
  2. 发送邮件提醒:用Send-MailMessage或更适配现代邮件协议的MailKit模块实现:
    foreach ($device in $offlineDevices) {
        $subject = "你的笔记本已超过20天未联网,请开机完成更新"
        $body = @"
        您好 $($device.user_name):
        你的设备「$($device.host_name)」已超过20天未开机联网,为确保Config Manager能完成系统安全更新,请尽快将设备联网开机。
        最后一次在线记录:$($device.'Time Stamp')
        "@
        Send-MailMessage -To $device.user_email -From "IT运维 <it-support@yourcompany.com>" -Subject $subject -Body $body -SmtpServer "smtp.yourcompany.com" -Port 587 -UseSsl -Credential (Get-Credential)
    }
    
  3. 发送Teams消息:通过Teams传入Webhook实现,先在目标Teams频道创建Webhook获取URL:
    $teamsWebhook = "https://outlook.office.com/webhook/xxx/xxx/xxx"
    foreach ($device in $offlineDevices) {
        $msgContent = @{
            text = "**设备未开机提醒**`n用户:$($device.user_name)`n邮箱:$($device.user_email)`n设备名:$($device.host_name)`n未开机时长:$($device.DateDiff)天`n请尽快联网开机完成Config Manager更新"
        } | ConvertTo-Json
        Invoke-RestMethod -Uri $teamsWebhook -Method Post -Body $msgContent -ContentType "application/json"
    }
    
  4. 定时执行:用Windows任务计划程序设置脚本的执行周期(比如每天凌晨),实现自动触发。

方案二:Power Automate(低代码,快速配置)

适合无编程基础的场景,通过可视化配置完成数据对接和消息推送,无需编写代码。

操作步骤:

  1. 创建计划流:选择「计划云流」,设置触发频率(如每天一次)。
  2. 获取查询数据:添加「执行SQL查询」动作,连接你的数据库,输入筛选20天以上未开机设备的查询语句,获取数据列表。
  3. 循环处理每条记录:添加「应用到每个」动作,遍历查询返回的所有设备数据。
  4. 推送提醒:
    • 邮件:添加「发送电子邮件(V2)」动作,收件人选择user_email字段,主题和正文插入设备名、未开机时长等动态内容。
    • Teams消息:添加「发布消息到频道(V3)」动作,选择目标团队和频道,在消息内容中插入用户、设备等数据;或用「发送HTTP请求」调用Teams Webhook。
  5. 测试启用:验证单条数据的推送效果后,启用流即可自动定时执行。

方案三:SSRS订阅(适配现有报表体系)

如果你的团队已经在用SSRS做报表管理,可以基于现有报表配置数据驱动订阅发送邮件提醒。

操作步骤:

  1. 生成基础报表:基于你的查询语句创建SSRS报表,仅展示20天以上未开机的设备数据。
  2. 配置数据驱动订阅:
    • 在报表管理器中找到该报表,创建「数据驱动订阅」。
    • 设置数据源为你的查询结果,指定user_email作为收件人字段。
    • 配置邮件主题和正文,插入报表中的设备名、未开机时长等字段,可选发送纯文本提醒或报表附件。
  3. 设置执行频率:按需求设置订阅的执行周期(如每周一),实现自动推送。

方案选择建议

  • 需要自定义复杂逻辑(如日志记录、多条件过滤):选PowerShell
  • 无编程基础、追求快速搭建:选Power Automate
  • 已有成熟SSRS报表体系:选SSRS数据驱动订阅

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 07:24:19