任务是每天一次从特定邮箱文件夹中转发白天收到的信件(文件夹名称不标准,由用户创建)并复制/移动到另一个邮箱中的文件夹(文件夹名称也不标准) )。
如果您使用此代码:
# Создание фильтра для поиска писем в указанной папке и за указанный период
$filter = New-Object Microsoft.Exchange.WebServices.Data.SearchFilter+IsGreaterThan([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::DateTimeReceived, $startDate)
# Создание объекта определяющее количество элементов на странице предварительного просмотра.
$view = New-object Microsoft.Exchange.WebServices.Data.ItemView(1000)
$filterEndDate = [Microsoft.Exchange.WebServices.Data.SearchFilter+IsLessThanOrEqualTo]::new([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::DateTimeReceived, $endDate)
$SourceFolderView = new-object Microsoft.Exchange.WebServices.Data.FolderView(1)
$SourceFolderView.Traversal = [Microsoft.Exchange.Webservices.Data.FolderTraversal]::Deep
$SourceSearchFilter = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.FolderSchema]::DisplayName, $sourceFolder)
$SourceFindFolderResultsID = $service.FindFolders([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::MsgFolderRoot, $SourceSearchFilter, $SourceFolderView)
$items = $service.FindItems($SourceFindFolderResultsID.id, $filter, $view)
$items | Where-Object { $_.DateTimeReceived -le $endDate } | ForEach-Object {
$_.Copy($destinationMailbox)
}
然后,搜索将通过用户的邮箱进行,在 EWS 中进行授权,并且您有权的任何其他邮箱都需要进行搜索。
我也不知道如何指定要复制/移动电子邮件的邮箱文件夹。