2015-05-28 51 views
0

我已經編寫了一個基本腳本來執行併發送帶附件的電子郵件,我已在PowerShell中對此進行了測試。然而,當我嘗試創建這個作爲一個任務調度,我得到了以下錯誤:錯誤:「該術語不被識別爲cmdlet的名稱」

enter image description here

但是我完全相同的代碼執行沒有在PowerShell中的問題。

enter image description here

這是我的任務計劃程序視圖: enter image description here

我缺少什麼?我已經設置了執行策略,所以這不是問題,我已經測試了我的代碼,並且沒有任何問題。

+0

嗨,我重新命名文件夾PowerShell腳本沒有空間,這解決了問題。然而,我不明白,因爲我相信「與」會意味着這不是一個問題? –

回答

2

使用-File參數,而不是:

-File "C:\path\to\your.ps1" 

PowerShell中的調用運算符(&)只能內部PowerShell的,所以你需要把它的參數字符串中:

"& 'C:\path\to\your.ps1'" 

雖然這將也有一些缺點,最重要的是它只會返回0(成功)或1(失敗)作爲退出代碼,而不是腳本的實際退出代碼。

1

您的參數需要包含-Command參數,而不僅僅是您想要運行的代碼。另外,要運行的代碼需要是字符串,而不是原始的Powershell代碼,否則命令行將嘗試解釋它。參數設置爲:

-Command '&"C:\Users\Martyn\Documents\Powershell Scripts\Working.ps1"' 

或者,你可以直接嘗試-File參數,雖然有已知的問題吧:

-File "C:\Users\Martyn\Documents\Powershell Scripts\Working.ps1" 
相關問題