从powershell 4启动FTP网站

时间:2014-04-11 14:10:58

标签: powershell iis-7.5

尝试通过powershell在IIS7.5上自动执行ftp站点操作,但我无法启动ftp站点。其他一切,到目前为止,我都成功了。

PS IIS:\Sites> Get-ChildItem | Where {$_.Name -eq "FtpData"}

Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
FtpData          3    Stopped    D:\Services\_Empty             ftp *:80:



PS IIS:\Sites> Start-WebSite -Name "FtpData"
Start-WebSite : The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)
At line:1 char:1
+ Start-WebSite -Name "FtpData"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Website], COMException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.IIs.PowerShell.Provider.StartWebsiteCommand

此问题是technet "Starting / Stoping an FTP site using PowerShell... IIS 7.5 on 2008R2"中的地址,但已有三年了。

使用appcmd有同样的问题:

C:\Users\myself>c:\Windows\system32\inetsrv\appcmd start site FtpData
ERROR ( hresult:800710d8, message:Command execution failed.
The object identifier does not represent a valid object.
 )

本文FTP on IIS 7 on Server Core表示从UI控制台启动它,但这意味着它无法自动化。

有没有人能解决这个问题?

2 个答案:

答案 0 :(得分:1)

通过Powershell自动完成功能偶然发现了这一点,并在Server 2012 R2上工作:

    $ftpSite = IIS:\Sites\FtpData
    $ftpSite.ftpServer.Start()

答案 1 :(得分:0)

$ ftpSite ......对我不起作用。我还发现下面的内容更整洁。

开始:

 (get-Website -Name "myftpsite").ftpserver.start() 

停止:

 (get-Website -Name "myftpsite").ftpserver.stop()

来源:https://peter.hahndorf.eu/blog/iisftp.html (永远呼吸孤独的话语 - Peter Hahndorf的软件 IIS - 使用PowerShell管理FTP站点)