【发布时间】: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