我已經編寫了一個基本腳本來執行併發送帶附件的電子郵件,我已在PowerShell中對此進行了測試。然而,當我嘗試創建這個作爲一個任務調度,我得到了以下錯誤:錯誤:「該術語不被識別爲cmdlet的名稱」
但是我完全相同的代碼執行沒有在PowerShell中的問題。
這是我的任務計劃程序視圖:
我缺少什麼?我已經設置了執行策略,所以這不是問題,我已經測試了我的代碼,並且沒有任何問題。
我已經編寫了一個基本腳本來執行併發送帶附件的電子郵件,我已在PowerShell中對此進行了測試。然而,當我嘗試創建這個作爲一個任務調度,我得到了以下錯誤:錯誤:「該術語不被識別爲cmdlet的名稱」
但是我完全相同的代碼執行沒有在PowerShell中的問題。
這是我的任務計劃程序視圖:
我缺少什麼?我已經設置了執行策略,所以這不是問題,我已經測試了我的代碼,並且沒有任何問題。
使用-File
參數,而不是:
-File "C:\path\to\your.ps1"
PowerShell中的調用運算符(&
)只能內部PowerShell的,所以你需要把它的參數字符串中:
"& 'C:\path\to\your.ps1'"
雖然這將也有一些缺點,最重要的是它只會返回0(成功)或1(失敗)作爲退出代碼,而不是腳本的實際退出代碼。
您的參數需要包含-Command
參數,而不僅僅是您想要運行的代碼。另外,要運行的代碼需要是字符串,而不是原始的Powershell代碼,否則命令行將嘗試解釋它。參數設置爲:
-Command '&"C:\Users\Martyn\Documents\Powershell Scripts\Working.ps1"'
或者,你可以直接嘗試-File
參數,雖然有已知的問題吧:
-File "C:\Users\Martyn\Documents\Powershell Scripts\Working.ps1"
嗨,我重新命名文件夾PowerShell腳本沒有空間,這解決了問題。然而,我不明白,因爲我相信「與」會意味着這不是一個問題? –