【问题标题】:Start and Stop FTP site in scheduled task using PowerShell使用 PowerShell 在计划任务中启动和停止 FTP 站点
【发布时间】:2021-06-28 12:24:09
【问题描述】:

我有两个 PowerShell 脚本来启动和停止 IIS 中的 FTP 站点。

StartFTP.ps1:

Import-Module WebAdministration
(get-Website -Name "FTP").ftpserver.start()

StopFTP.ps1

Import-Module WebAdministration
(get-Website -Name "FTP").ftpserver.stop()

当我在 PowerShell 中启动它们时,它们都做了它们应该做的事情。我创建了两个计划任务来运行这些作业,我的目的是在短时间内将一些备份文件自动获取到我的本地 NAS。

在定时任务的Action部分,我输入了

powershell.exe

作为要运行的程序和

-ExecutionPolicy Bypass C:\Scripts\StartFTP.ps1

作为参数。任务正常运行,它在给定时间启动 FTP 服务器。我对停止脚本做了同样的事情。

作业在 SYSTEM 帐户下运行,具有最高权限。

当我手动启动这些任务时,它会启动/停止 FTP 站点。但是当它们在给定时间自动运行时,只有启动脚本会启动 FTP 站点(然后我在本地 NAS 上找到备份),但停止脚本不会停止它。两个任务都显示 (0x0) 作为结果代码。早上看服务器,FTP站点还在运行。

我在 Windows 事件日志中找不到任何内容。

任何想法我缺少什么?

【问题讨论】:

  • 根据我的测试,发现启动命令和停止命令都可以正常执行。如果直接执行停止命令,FTP站点会停止吗?
  • 当我在 PowerShell 中运行脚本时它会停止。当我从计划任务管理器运行作业时,它也会停止。

标签: powershell iis ftp scheduled-tasks


【解决方案1】:

问题解决了。我反复检查了停止任务中的所有设置,一切似乎都很好。开始任务设置为 x:00,停止任务设置为 x:55。

然后我在任务概述中意识到“下一个运行时”设置为 x-1:55,因此停止任务显然在启动任务前 5 分钟运行。我重新检查了时间表,但仍然是 x:55。

我删除了时间表并重新创建了它,现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 2019-04-25
    • 2017-07-06
    相关资源
    最近更新 更多