2

一段时间以来,我一直在使用计划任务和 New-MailboxExportRequest cmdlet 将我组织的邮箱导出到每晚的 .PST 存档文件。不幸的是,在存档操作完成后,ExportRequests 不会被删除,当 Exchange 确定它已经看到足够的请求时,它会停止处理我的备份。

在 Exchange 命令行管理程序上运行时,以下内容适用于清理请求:

Get-MailboxExportRequest -状态已完成 | 删除邮箱导出请求

但是,我没有成功让这个 cmdlet 作为计划任务正确运行。

我正在使用以下语法:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-MailboxExportRequest -状态已完成|删除-MailboxExportRequest”

当我手动执行任务时,它挂在“任务当前正在运行。(0x41301)' 直到我结束任务。请注意,我使用的是具有适当权限级别的帐户,禁用了 UAC,并且在任务上启用了“以最高权限运行”。因此,我倾向于认为问题出在我的语法上。

非常感谢任何和所有帮助。

编辑:

通过一个不相关的脚本问题找到了我的解决方案;cmdlet 在正常使用时要求确认。因此,我将脚本修改为以下内容:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-MailboxExportRequest -状态已完成|删除-MailboxExportRequest -确认:$false"

我的计划任务按预期运行并执行其设计的任务。谢谢你的空间。

4

1 回答 1

1

解决此问题的一般方法是将开关“-noninteractive”传递给 powershell.exe。这将确保 powershell 进程永远不会阻止用户输入任何命令。

请注意,这是在计划任务中运行 PowerShell 的一般建议,并与作者的修复程序结合使用。

请参阅“powershell /?” 从命令提示符。

于 2012-10-06T09:58:44.953 回答