0

我正在尝试为 Exchange 2013 设置一个脚本,以便每晚使用计划任务运行。我创建了一个运行 Exchange cmdlet 的 .ps1,然后是我想要运行的脚本。我遇到的问题是在 PowerShell 访问 Exchange 后脚本没有运行。

这是脚本:

powershell.exe -NonInteractive -noexit -command "。'E:\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell"

Set-CalendarProcessing -Identity "Room" -BookingWindowInDays (New-timespan -Start (GET-Date) -End 12/1/16).days

如果我复制脚本并将其粘贴到 PowerShell 中,它可以工作,但如果我右键单击 .ps1 文件并选择“在 PowerShell 中运行”,它会连接到 Exchange,但不会运行其余部分。

任何帮助是极大的赞赏。谢谢你。

4

1 回答 1

0

这是我在 Powershell 脚本中运行 Exchange 任务时使用的格式。

# Make a Powershell connection to Exchange
. 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'
Connect-ExchangeServer -auto
Set-CalendarProcessing -Identity "Room" -BookingWindowInDays (New-timespan -Start (GET-Date) -End 12/1/16).days

我从一个计划任务中调用它,该任务在一个有权执行我要求它执行的操作的帐户下运行。

在任务计划程序中:在计划任务中的操作下:Start a program
程序/脚本:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 添加参数(可选):.\ScriptIWantToRun.ps1 开始(可选):C:\Path\To\Script

我这样做的原因是它对我有用,而且我可以加载除 Exchange 之外的其他模块。如果您仍然遇到问题,您可能希望让您的脚本输出一些内容以查看它是否正在启动,并可能获取一些关于它没有执行任何操作的步骤的信息。

仅对于可能拥有 2010 年或 2007 年的人,以下内容可能会帮助您使用我上面的示例。

(对于添加参数(可选)下的Exchange 2010-version 2 .\ScriptIWantToRun.ps1:)

于 2016-08-25T22:26:47.733 回答