我正在尝试过滤一个Outlook子文件夹中的大约2000个自动警报。
我需要执行以下步骤:
- 解析子文件夹
账户警报锁定
- 搜索包含可变用户名的特定短语
- 将整个带有可变用户名的短语转储到CSV
示例短语:
Account Name: jdoe
我已经把所有需要的邮件放在了一个子文件夹中,现在只需要对它们进行分析。
我已经让我的代码可以在收件箱中使用了,但是它无法覆盖子文件夹。
Add-Type -Assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -ComObject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")
$inbox = $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox)
$RE = [RegEx]'(?sm)Account Name\s*:\s*(?<AccName>.*?)$.*'
$DebugPreference = 'Continue'
$Data = foreach ($item in $inbox.items) {
if ($item.body -match $RE) {
Write-Host "ding "
[PSCustomObject]@{ AccName = $Matches.AccName }
}
}
$Data
$Data | Export-CSv '.\data.csv' -NoTypeInformation