在带有任务计划程序信息的提示符下运行 powershell 时出错 - “不被识别为 cmdlet、函数、脚本文件或可操作的名称..”

Posted

技术标签:

【中文标题】在带有任务计划程序信息的提示符下运行 powershell 时出错 - “不被识别为 cmdlet、函数、脚本文件或可操作的名称..”【英文标题】:Error when running powrshell at prompt with TaskScheduler info - 'is not recognized as the name of a cmdlet, function, script file, or operable ..' 【发布时间】:2022-01-06 09:15:03 【问题描述】:

我正在调试为什么我的脚本没有在 TaskScheduler 中正确运行,方法是在服务器上的 powershell ISE 的命令提示符下运行它,就像在 TaskScheduler 中设置的一样:

PS Microsoft.PowerShell.Core\FileSystem::\\w5server\ksupport\C_Adjust> c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -noninteractive -ExecutionPolicy bypass -Command "& .\\w5server\ksupport\C_Adjust\RunScan_MoveFiles_Admin.ps1" 

我收到此错误:

c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe : & : The term '.\\w5server\ksupport\C_Adjust\RunScan_MoveFil
At line:1 char:1
+ c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -noninterac ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (& : The term '....Scan_MoveFil:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
es_Admin.ps1' is not recognized as the name of a cmdlet, function, script 
file, or operable program. Check the spelling of the name, or if a path was 
included, verify that the path is correct and try again.
At line:1 char:3
+ & 
.\\w5server\ksupport\C_Adjust\RunScan_MoveFiles_Admin.ps1
+   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (.\\w5server\k...Files_Admin.p 
   s1:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我也不确定为什么它会像错误消息中那样拆分完整的命令行信息;希望这不是问题的一部分。

我尝试删除 .\w5server...scriptname.ps1 之前的“&”,但得到了相同的错误消息。我以前从来没有给出过这种类型的路径的完整路径,但这就是脚本所在的地方。上次我这样做是在该服务器上的 c:\Scripts\B... 中。

此服务器是 Windows Server 2012 R2。以前,我正在使用的服务器是 2008 R2,我不确定这是否重要。否则我的语法是相同的,除了脚本名称和完整路径。

我看到了这个链接is not recognized as the name of a cmdlet,但我认为它拼写正确。

【问题讨论】:

【参考方案1】:

我正在玩我用来在命令行运行它的东西,这是有效的:

PS Microsoft.PowerShell.Core\FileSystem::\\w5server\ksupport\C_Adjust> c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -noninteractive -ExecutionPolicy bypass -Command \\w5server\ksupport\C_Adjust\RunScan_MoveFiles_Admin.ps1

所以我去掉了双引号,'.' '&' 表示脚本位置。

【讨论】:

以上是关于在带有任务计划程序信息的提示符下运行 powershell 时出错 - “不被识别为 cmdlet、函数、脚本文件或可操作的名称..”的主要内容,如果未能解决你的问题,请参考以下文章

磁盘碎片整理功能无法启动,打开,提示“任务计划程序服务未运行,请启动后再试”,怎么解决?

windows任务计划程序是怎么回事,有啥用途,该怎么设置??

使用任务计划程序创建任务以使用命令运行 cmd.exe

PowerShell 添加任务以使用参数运行 PowerShell 脚本

我按你说的使用任务计划 但是电脑提示“以创建新任务,但可能不能运行因为无法设置账户信息 : 为啥啊?

如何在 Windows 命令提示符下每 5 分钟安排一次任务?