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

如何在PowerShell中用Get-MgUserMessage筛选未读邮件

解决Get-MgUserMessage筛选未读邮件的Filter参数问题

正确的筛选未读邮件的命令如下:

$result = Get-MgUserMessage -UserId $email -Filter "isRead eq false"

之前写法的问题:

  • 误用了PowerShell的比较运算符-eq,Microsoft Graph的OData筛选语法需要使用eq作为相等比较符
  • 给布尔值false添加了引号,OData中布尔类型值直接写false即可,不需要引号包裹
  • 尝试用PowerShell变量替换$false,但-Filter参数需要传入符合OData规范的字符串,而非PowerShell表达式
  • 属性名建议使用Graph API标准的驼峰式isRead(部分场景下大小写不敏感,但遵循标准更可靠)

如果需要验证结果,可以用你之前的遍历代码确认:

foreach ($item in $result) 
{
    $msgId  = $item.id 
    $isRead = $item.IsRead
    Write-Host "msgId=$msgId"
    Write-Host "isRead=$isRead"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:46:16