【发布时间】:2016-07-19 20:42:39
【问题描述】:
我正在尝试为 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,但不会运行其余部分。
非常感谢任何帮助。谢谢。
【问题讨论】:
-
我不确定您为什么要使用“脚本”调用 PowerShell - 这是您配置的
.bat文件吗?这是有道理的,因此为什么您右键单击,在 PowerShell 中运行,但什么也没有发生(因为没有发送任何参数 - 所有Connect-ExchangeServer -auto -ClientApplication:ManagementShell信息都丢失了)。 -
它最终将用于每晚运行的计划任务。它连接到交换。这部分脚本工作正常: powershell.exe -NonInteractive -noexit -command ". 'E:\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell" 第二部分当我尝试运行 .ps1 文件时,脚本的一部分不起作用。如果我复制这两个部分并将它们粘贴到 PowerShell 中,它会调用交换,然后运行另一部分,我会得到想要的结果。
-
你在
RemoteExchange.ps1文件上右击吗?如果是这样,那是您的问题的根本原因。而是右键单击.bat文件(您没有回答这个问题),然后查看它在运行时是否有效。如果是这样,那就是你的问题。 -
我的文件名为 Room.ps1。我没有运行 .bat 文件。有没有办法让脚本在 Exchange 加载运行另一部分时等待。
-
宾果游戏! ;) 所以你是从 Room.ps1 发送参数,当你右键单击 RemoteExchange 时,它并没有一路完成,对吧?
标签: powershell exchange-server-2013