我可以将邮箱导出到Exchange Server 2010 SP3上的PST队列吗?
问题描述:
我在这种情况下,当我想排队几个邮箱导出(我不希望它们在同一时间处理)到PST文件。我知道,如何用命令get-mailboxexportrequest将它们导出,但是当我这样做时,它们几乎立即开始。我能以某种方式排队另一个邮箱,所以它会自动启动,当前一个完成?我可以将邮箱导出到Exchange Server 2010 SP3上的PST队列吗?
答
我会做到以下几点:
- 建立其检查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"
}
如果你有一个数组邮箱或邮箱ID的列表,你应该能够将它传递给ForEach对象它为每个邮箱运行New-MailboxExportRequest,假定该命令同步运行。您必须编写它才能确定每个邮箱的唯一文件名,但这应该不难。 –
你确定吗?请求迁移的命令很快就结束了 - 您不必等到该过程完成后,我认为在这种情况下,“对于每个”才会开始所有其他请求,或者我在这里错了吗? – kjubus
不,我不确定,所以我说,“假设[New-MailboxExportRequest]同步运行。”浏览该cmdlet的文档,但似乎暗示系统使用请求队列。或者,您可以指定'-Suspend'参数来启动所有挂起的请求。你可以基本上自己管理队列。 –