Powershell
無法讓 Exchange PowerShell 腳本在計劃任務下執行
我有一個 PowerShell 腳本,可以在直接輸入 PowerShell 時使用。PowerShell 程序使用以下快捷方式執行:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'"
我在 Windows 任務計劃程序中嘗試了大約 10 種不同的方法來首先打開上面的快捷方式,然後執行我保存的腳本文件,但它不起作用。它掛在“正在執行”上。
該腳本位於此處:
Z:\Exchange PowerShell\MailboxesApproachingOverQuota.ps1
請注意,可以將腳本內容複製並粘貼到上面的 PowerShell 快捷方式中,它執行得非常好,並將輸出通過電子郵件發送給我。
請注意,我使用的 PowerShell 實例來自上面顯示的快捷方式,其中已經有參數 - 因此我很難在任務計劃程序中放置什麼。
請問有什麼幫助嗎?
謝謝 :)
編輯當我直接在 CMD 中使用以下內容時:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'; &'Z:\Exchange Powershell\MailboxesApproachingOverQuota.ps1'"
我得到: http ://tinypic.com/r/n1fkmg/8
當我使用以下內容時:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'; &'Z:\Exchange Powershell\MailboxesApproachingOverQuota.ps1'"
我得到:http ://tinypic.com/r/5bbac9/8
執行這個:
powershell -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -exec bypass -command ". 'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'"
正常打開 Exchange 命令行管理程序:http: //tinypic.com/r/2dglulf/8
首先,讓我告訴您如何從任務執行腳本:
Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Add arguments (optional): -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -command ". 'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'; &'Z:\Exchange Powershell\MailboxesApproachingOverQuota.ps1'"
另請注意,您用於執行腳本的使用者 ID 可能需要在本地伺服器上被授予權限。
更新:刪除 -noexit