通过Task Scheduler的Powershell脚本不适用于参数

问题描述

我希望你们天才能帮助我。我不是使用PowerShell的专家,我只是用它来自动化一些任务以简化生活。我要自动化的一件事是向密码将在14天内到期的员工提供每日密码提醒。当我通过PowerShell运行脚本时,我编写的脚本(NewPasswordChange.ps1)可以完美运行,但将其放入Task Scheduler后将无法运行。请让我知道我在做什么错。

操作:启动程序 程序/脚本: C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe

添加参数:-文件'NewPasswordChange.ps1'-smtpServer'COMPANY-com.mail.protection.outlook.com'-expireInDays'14'-来自'IT支持it_support@COMPANY.com '-Logging -LogPath'c:\ logFiles'

解决方法

只有powershell可以理解单引号。例如,在常规命令行'IT Support it_support@COMPANY.com'中使用时,将被解释为3个参数:

  1. 'IT
  2. Support
  3. it_support@COMPANY.com'

使用双引号代替:

-File "NewPasswordChange.ps1" -SmtpServer "COMPANY-com.mail.protection.outlook.com" -ExpireInDays 14 -From "IT Support it_support@COMPANY.com" -Logging -LogPath "c:\logFiles"