从计划任务运行时,WebAdministration模块未加载

时间:2017-02-16 20:30:08

标签: scheduled-tasks powershell-v2.0

我遇到了一个脚本问题,当从计划任务运行时,导入模块中的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时可以使用的任何建议。

1 个答案:

答案 0 :(得分:1)

我发现了问题的问题。启动任务的用户帐户没有相应的用户权限。当我使用Local Admin组中的帐户时,它可以正常工作。