【发布时间】:2015-08-07 11:17:13
【问题描述】:
我正在尝试进入 EWS,我的目标是在两个不同位置的两个 Exchange 邮箱之间复制数据。
我正在绑定两个收件箱文件夹,每个文件夹都在不同的邮箱中 然后我获取源收件箱文件夹中的项目并尝试将这些项目复制到目标收件箱文件夹,这是代码。
Add-Type -Path "C:\Program Files (x86)\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
## Remote Connection ##
$MailboxName="User@Domain.com"
$ExchangeVersion = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2007_SP1
$Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials("User","Password","Domain")
$exchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService($ExchangeVersion)
$exchService.Credentials = $Credentials
$exchService.Url = "https://Domain.com/EWS/Exchange.asmx"
## Bind Remote Inbox Folder
$FolderName="Inbox"
$folderid= new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::$FolderName,$MailboxName)
$MailFolder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchservice,$folderid)
## Local Connection ##
$LocalMailboxName = "LocalUser@Domain.local"
$LocalExchangeVersion = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010_SP2
$LocalExchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService($LocalExchangeVersion)
$LocalExchService.UseDefaultCredentials = $true
$LocalExchService.AutodiscoverUrl($LocalMailboxName)
$LocalExchService.ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress, $LocalMailboxName)
$LocalFolderName="Inbox"
$Localfolderid= new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::$LocalFolderName,$LocalMailboxName)
$LocalMailFolder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($LocalExchService,$Localfolderid)
## Get the items of the source mailbox "Inbox"
$ivItemView = New-Object Microsoft.Exchange.WebServices.Data.ItemView(100)
$fiItems = $exchservice.FindItems($MailFolder.id,$ivItemView)
## The Copy Section
foreach ($item in $fiItems)
{
$item.Copy($LocalMailFolder.Id)
}
然后我得到这个错误:
Exception calling "Copy" with "1" argument(s): "No mailbox with such guid."
At line:1 char:30
+ foreach ($item in $fiItems) {$item.Copy($LocalMailFolder.Id)}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ServiceResponseException
感谢任何帮助,谢谢
【问题讨论】:
标签: powershell exchangewebservices