首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell设置Outlook桌面电子邮件的未读标志

Powershell设置Outlook桌面电子邮件的未读标志
EN

Stack Overflow用户
提问于 2022-11-15 13:11:22
回答 1查看 21关注 0票数 0

我正在尝试使用powershell从Outlook桌面的一个文件夹中读取电子邮件,我可以使用下面的代码来实现这一点。

,但我是否也可以将这些电子邮件的未读属性设置为$False ? (不在存储在变量中的对象中)

浏览网站时,我发现:https://stackoverflow.com/a/34161683/13568461,它说要使用MailItem.Save,但我想不出如何更新我的代码来利用它。

如果有人能帮到这段代码,我会非常感激的。提前谢谢你

代码语言:javascript
复制
 Add-Type -assembly "Microsoft.Office.Interop.Outlook"
 $Outlook = New-Object -comobject Outlook.Application
 $namespace = $Outlook.GetNameSpace("MAPI")
 $Folder_AI =   $namespace.Folders.Item('user@domain').Folders.Item('AI-ServiceDesk-Servers')
 
     $Count_ItemsUnread = $Folder_AI.UnReadItemCount
     
     $All_Folder_Items = $Folder_AI.Items | Select-Object -Property UnRead, Body
 
 
     $All_Folder_Items | ForEach-Object {
 
         $Email_Status = $PSItem.Unread
         $Email_Body = $PSItem.Body
 
         $Email_Status
 
     }
EN

回答 1

Stack Overflow用户

发布于 2022-11-15 14:27:33

但是,我是否也可以将这些电子邮件的未读属性直接设置为$False (在存储在变量中的对象中)?

不,你需要一个项目来设置一个属性。Save方法需要使更改永久化,并避免任何用于保存以编程方式在Outlook中进行的更改的对话框。

在Outlook中处理Exchange帐户时,如果遍历文件夹/存储中的所有项,则可能会达到并发打开项的限制。这就是为什么推荐Find/FindNextRestrict方法的原因。它们允许获取与您的搜索条件相对应的项,并且只对它们进行迭代。在我为技术博客撰写的文章中,可以了解更多关于这些方法的内容:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74446216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档