如何从批处理文件自动运行exchange powershell命令

时间:2020-01-29 12:55:18

标签: powershell exchange-server-2010

我有一个带有以下代码的.bat文件:

START C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -version 2.0 -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto"

上面的代码将成功启动新的Powershell主机,然后连接到我的交换服务器。

如何从同一batch文件在Exchange Powershell主机中运行以下命令? (基本上,我正在尝试使流程自动化)

Get-MessageTrackingLog -resultsize unlimited -start "01/01/2020 00:00:00" -Server hermod -EventId Deliver | where {[string]$_.sender -like '*@gmail.com'} | where {[string]$_.Recipients -like '*@gmail.com'} > "C:\MailReporter\Output\emails.txt"

1 个答案:

答案 0 :(得分:0)

我弄清楚了:我需要在第一个命令后使用;符号来表示当前命令的结束。然后,我可以执行下一条命令而不会出现问题。

完整的工作代码:

START C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -version 2.0 -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-MessageTrackingLog -resultsize unlimited -start '01/09/2019 00:00:00' -Server hermod -EventId Deliver | where {[string]$_.sender -like '*@gmail.co.uk'} | where {[string]$_.Recipients -like '*@gmail.co.uk'} > 'C:\MailReporter\Output\emails.txt' "
相关问题