【问题标题】:MS Exchange 2010: cmdlet Not Executing Correctly as a Scheduled TaskMS Exchange 2010:cmdlet 未作为计划任务正确执行
【发布时间】:2011-09-24 14:56:39
【问题描述】:

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

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

Get-MailboxExportRequest -状态已完成 |删除-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 -Status Completed | Remove-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 -Status Completed | Remove-MailboxExportRequest -Confirm:$false"

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

【问题讨论】:

  • 请将答案发布为答案,然后将其标记为已接受。

标签: powershell scheduled-tasks exchange-server-2010 pst cmdlet


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 2012-10-12
    相关资源
    最近更新 更多