我可以将邮箱导出到Exchange Server 2010 SP3上的PST队列吗?

问题描述:

我在这种情况下,当我想排队几个邮箱导出(我不希望它们在同一时间处理)到PST文件。我知道,如何用命令get-mailboxexportrequest将它们导出,但是当我这样做时,它们几乎立即开始。我能以某种方式排队另一个邮箱,所以它会自动启动,当前一个完成?我可以将邮箱导出到Exchange Server 2010 SP3上的PST队列吗?

+1

如果你有一个数组邮箱或邮箱ID的列表,你应该能够将它传递给ForEach对象它为每个邮箱运行New-MailboxExportRequest,假定该命令同步运行。您必须编写它才能确定每个邮箱的唯一文件名,但这应该不难。 –

+0

你确定吗?请求迁移的命令很快就结束了 - 您不必等到该过程完成后,我认为在这种情况下,“对于每个”才会开始所有其他请求,或者我在这里错了吗? – kjubus

+0

不,我不确定,所以我说,“假设[New-MailboxExportRequest]同步运行。”浏览该cmdlet的文档,但似乎暗示系统使用请求队列。或者,您可以指定'-Suspend'参数来启动所有挂起的请求。你可以基本上自己管理队列。 –

我会做到以下几点:

  • 建立其检查PowerShell脚本,如果有一个正在运行的出口情况发生(通过GET-MailboxExportRequest)如果isn't的情况下开始出口X mailfiles您指定在CSV文件中
  • 使用Exchange服务器上的Windows任务管理器来触发该脚本,并在此处定义脚本应该运行的频率和时间
  • 一旦powershell脚本运行,它应该从CSV中删除导出的邮件文件文件,然后退出
  • 那么3210
  • 经由任务管理器的PowerShell脚本的下一次运行会检查当前的工作仍在进行中,如果是,就应该退出,直到它的时间从你的列表

更新收拾下进入:

作为一个起点,类似下面的应该罚款(未经测试,但应该给你一个起点):

# Get current Export Requests 
$ExportStats = Get-MailboxExportRequest 

#Check if there are completed questes 
If ($ExportStats.Status -eq "Completed") 
{ 
    Write-Host "Export done" 
    Get-MailboxExportRequest -Status Completed -Name "$ObjectName-Export" | Remove-MailboxExportRequest -Confirm:$false 
    #Disable-Mailbox -identity "AD\$ObjectName" 

    # Create a new CSV file, which isn´t including the current export name we just marked as finish via above's section.  
    # CODE MISSING HERE!  

    # Now import our CSV list and proceed it 
    Import-CSV <Filepath of CSV file(\\server\folder\file.csv)> | ForEach-Object { 
    # Perform the export 
    New-MailboxExportRequest -Mailbox $_.MailboxAlias -FilePath $_.PSTpath 
    New-MailboxExportRequest -Mailbox $_.MailboxAlias -FilePath $_.ArchivePath 
    # Once done exit here, this will ensure we proceed only the first entry 
    Exit 
    } 

} 
elseif ($ExportStats.Status -eq "InProgress") 
{ 
    Write-Host "Export still ongoing"  
}