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

如何用PowerShell查看Exchange Online/365邮箱内容并自动下载指定邮件附件?

使用PowerShell管理Exchange Online邮箱:查看内容、自动收集特定邮件及下载附件

一、准备工作:安装并连接Exchange Online PowerShell模块

  1. 以管理员身份打开PowerShell,安装官方模块:
Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber
  1. 连接到Exchange Online服务:
Connect-ExchangeOnline -UserPrincipalName your@domain.com

首次运行会弹出登录窗口,输入你的M365账号密码完成验证。

二、查看个人邮箱内容

1. 列出邮箱所有文件夹

Get-EXOMailboxFolderStatistics -Mailbox your@domain.com | Select-Object Name, FolderPath

2. 查看收件箱邮件核心信息

Get-EXOMessage -Mailbox your@domain.com -FolderPath Inbox | Select-Object Subject, ReceivedTime, HasAttachments, FromAddress

3. 查看单封邮件的详细内容与附件

# 定位目标邮件(可根据主题关键词筛选)
$targetMail = Get-EXOMessage -Mailbox your@domain.com -FolderPath Inbox | Where-Object { $_.Subject -like "*月度报表*" } | Select-Object -First 1

# 查看邮件正文预览
$targetMail.BodyPreview

# 列出该邮件的附件
Get-EXOAttachment -MessageId $targetMail.Id | Select-Object Name, Size

三、自动收集每周特定邮件并下载附件

1. 设置筛选规则与时间范围

# 定义时间范围:最近7天(适配每周执行的需求)
$startDate = (Get-Date).AddDays(-7)

# 配置筛选条件(替换为你的实际需求)
$filter = {
    $_.Subject -like "*每周数据汇总*" -and
    $_.FromAddress -eq "data-team@company.com" -and
    $_.ReceivedTime -ge $startDate
}

# 获取符合条件的邮件
$targetEmails = Get-EXOMessage -Mailbox your@domain.com -FolderPath Inbox | Where-Object $filter

2. 批量下载附件到本地

# 设置附件根保存路径(按需修改)
$saveRoot = "C:\M365_Attachments\Weekly_Data"

foreach ($email in $targetEmails) {
    if ($email.HasAttachments) {
        # 创建按邮件日期+主题命名的子文件夹,避免附件重名
        $emailFolder = Join-Path $saveRoot "$($email.ReceivedTime.ToString('yyyyMMdd'))_$($email.Subject.Replace(':', '_'))"
        New-Item -ItemType Directory -Path $emailFolder -Force | Out-Null

        # 遍历下载每个附件
        $attachments = Get-EXOAttachment -MessageId $email.Id
        foreach ($att in $attachments) {
            $savePath = Join-Path $emailFolder $att.Name
            $att.Content | Set-Content $savePath -Encoding Byte
            Write-Host "已下载附件:$($att.Name) 到 $savePath"
        }
    }
}

3. 配置每周自动执行

将上述代码保存为.ps1脚本文件,通过Windows任务计划程序实现自动运行:

  • 触发器:设置为每周固定时间(如周一上午9点)
  • 操作:启动程序powershell.exe,参数填写-ExecutionPolicy Bypass -File "C:\路径\到\你的脚本.ps1"

注意事项

  • 确保你的M365账号拥有读取自身邮箱及下载附件的权限(默认账号具备该权限)
  • 首次运行模块时,需同意安装来自PSGallery的信任模块
  • 脚本中的邮箱地址、筛选条件、保存路径需根据实际场景替换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:01:36