2015-05-28 30 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" 
相关问题