我遇到了一个脚本问题,当从计划任务运行时,导入模块中的cmdlet没有被执行。
我创建了一个基本测试脚本,该脚本使用Stop-Website
cmdlet并添加了try
/ catch
来捕获cmdlet中的任何错误。
当我从ISE或Cmd行运行此代码时,它按预期工作; Website1被停止了。
当我从计划任务GUI运行此操作时,WebSite1不会停止并且catch
捕获到以下错误:
cmdlet错误是:找不到驱动器。一个名为“IIS'不存在。
根据我的阅读,这只是意味着cmdlet不可用。
我已确认已安装该模块。 在“操作”选项卡上,我传递了
powershell -ExecutionPolicy ByPass -NoProfile -file "D:\temp\stop_site.ps1"
Import-Module WebAdministration
try {
Stop-Website -Name Website1 -ErrorAction Stop
} catch {
$ErrorMessage = $_.Exception.Message
Write-Host "The cmdlet Error is: $ErrorMessage"
}
我正在寻找有关如何在计划任务中运行Stop-Website
cmdlet时可以使用的任何建议。
答案 0 :(得分:1)
我发现了问题的问题。启动任务的用户帐户没有相应的用户权限。当我使用Local Admin组中的帐户时,它可以正常工作。