我正在编写一个在Windows Server 2012 R2上注册和未注册计划任务的PowerShell脚本。我在这一行尤其是具有麻烦:什么导致此PowerShell脚本错误?
Unregister-ScheduledTask -TaskPath "\Sensei\"
(老师是这个项目的代号,并且是包含所有我关心的任务文件夹的名称。)
当我从ISE或命令行运行该命令,它工作正常。然而,当我从.ps1
文件运行它,它给了我一个彻头彻尾的令人困惑的错误:
Unregister-ScheduledTask : Cannot retrieve the dynamic parameters for the cmdlet. Cannot bind argument to parameter 'TypeName' because it is null.
At Z:\server_scripts\clean.ps1:12 char:5
+ Unregister-ScheduledTask -TaskPath "\Sensei\"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Unregister-ScheduledTask], ParameterBindingException
+ FullyQualifiedErrorId : GetDynamicParametersException,Unregister-ScheduledTask
尽可能靠近我可以告诉大家,TypeName
不是一个参数Unregister-ScheduledTask
接受,所以它必须从某处内部现身到该cmdlet。
有没有人有任何想法是什么造成这个?
编辑:有人问了整个脚本。我省略了它,因为没有其他的说明。
cd Z:\server_scripts
. .\variables.ps1
#Delete config files
del $SENSEIPATH\assets.cfg
del $SENSEIPATH\Web\Web.config
#Remove the virtual application
Remove-WebApplication -Site $IISSITE -Name "c"
#Clean out the scheduled tasks
Unregister-ScheduledTask -TaskPath "\Sensei\"
.\variables.ps1
只是包含了一些变量定义,如$SENSEIPATH
或$IISSITE
。我不能在这里发布,但我保证没有什么幻想。
你能告诉我们脚本文件的全部内容吗? – Sean
当然,但我怀疑有什么有用的 –
你如何运行ps1文件。只需从PowerShell调用它? – Matt