How to create FTPS server in Windows 10

Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

FTP Site Start Method <Start>

  • Article
  • 04/06/2022
  • 7 minutes to read

In this article

Overview

The <Start> method of the <ftpServer> element starts the FTP site that <ftpServer> applies to. Once the <Start> method has been called, the run-time state for the FTP site can be determined by the value of the state attribute.

Compatibility

VersionNotes
IIS 10.0 The <ftpServer> element was not modified in IIS 10.0.
IIS 8.5 The <ftpServer> element that includes the <Start> method was not modified in IIS 8.5.
IIS 8.0 The <ftpServer> element that includes the <Start> method was not modified in IIS 8.0.
IIS 7.5 The <ftpServer> element that includes the <Start> method shipped as a feature of IIS 7.5.
IIS 7.0 The <ftpServer> element that includes the <Start> method was introduced in FTP 7.0, which was a separate download for IIS 7.0.
IIS 6.0 N/A

Setup

To support FTP publishing for your Web server, you must install the FTP service. To do so, use the following steps.

Windows Server 2012 or Windows Server 2012 R2

  1. On the taskbar, click Server Manager.

  2. In Server Manager, click the Manage menu, and then click Add Roles and Features.

  3. In the Add Roles and Features wizard, click Next. Select the installation type and click Next. Select the destination server and click Next.

  4. On the Server Roles page, expand Web Server (IIS), and then select FTP Server.

    Note

    To support ASP.Membership authentication or IIS Manager authentication for the FTP service, you will need to select FTP Extensibility, in addition to FTP Service.

    .

  5. Click Next, and then on the Select features page, click Next again.

  6. On the Confirm installation selections page, click Install.

  7. On the Results page, click Close.

Windows 8 or Windows 8.1

  1. On the Start screen, move the pointer all the way to the lower left corner, right-click the Start button, and then click Control Panel.

  2. In Control Panel, click Programs and Features, and then click Turn Windows features on or off.

  3. Expand Internet Information Services, and then select FTP Server.

    Note

    To support ASP.Membership authentication or IIS Manager authentication for the FTP service, you will also need to select FTP Extensibility.

  4. Click OK.

  5. Click Close.

Windows Server 2008 R2

  1. On the taskbar, click Start, point to Administrative Tools, and then click Server Manager.

  2. In the Server Manager hierarchy pane, expand Roles, and then click Web Server (IIS).

  3. In the Web Server (IIS) pane, scroll to the Role Services section, and then click Add Role Services.

  4. On the Select Role Services page of the Add Role Services Wizard, expand FTP Server.

  5. Select FTP Service.

    Note

    To support ASP.Membership authentication or IIS Manager authentication for the FTP service, you will also need to select FTP Extensibility.

  6. Click Next.

  7. On the Confirm Installation Selections page, click Install.

  8. On the Results page, click Close.

Windows 7

  1. On the taskbar, click Start, and then click Control Panel.

  2. In Control Panel, click Programs and Features, and then click Turn Windows Features on or off.

  3. Expand Internet Information Services, and then FTP Server.

  4. Select FTP Service.

    Note

    To support ASP.Membership authentication or IIS Manager authentication for the FTP service, you will also need to select FTP Extensibility.

  5. Click OK.

Windows Server 2008 or Windows Vista

  1. Download the installation package from the following URL:

    • //www.iis.net/expand/FTP
  2. Follow the instructions in the following walkthrough to install the FTP service:

    • Installing and Troubleshooting FTP 7

How To

How to start an FTP site

  1. Open Internet Information Services (IIS) Manager:

    • If you are using Windows Server 2012 or Windows Server 2012 R2:

      • On the taskbar, click Server Manager, click Tools, and then click Internet Information Services (IIS) Manager.
    • If you are using Windows 8 or Windows 8.1:

      • Hold down the Windows key, press the letter X, and then click Control Panel.
      • Click Administrative Tools, and then double-click Internet Information Services (IIS) Manager.
    • If you are using Windows Server 2008 or Windows Server 2008 R2:

      • On the taskbar, click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
    • If you are using Windows Vista or Windows 7:

      • On the taskbar, click Start, and then click Control Panel.
      • Double-click Administrative Tools, and then double-click Internet Information Services (IIS) Manager.
  2. In the Connections pane, expand the server name, expand the Sites node, and then click the name of the FTP site.

  3. In the Manage Website section of the Actions pane, click Start.

Configuration

The site-specific <ftpServer> element is configured at the site-level.

Attributes

Not applicable.

Child Elements

Not applicable.

Sample Code

The following examples enable you to start an FTP site programmatically.

C#

using System; using System.Text; using Microsoft.Web.Administration; internal static class Sample { private static void Main() { using (ServerManager serverManager = new ServerManager()) { Configuration config = serverManager.GetApplicationHostConfiguration(); // Retrieve the sites collection. ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites"); ConfigurationElementCollection sitesCollection = sitesSection.GetCollection(); // Locate a specific site. ConfigurationElement siteElement = FindElement(sitesCollection, "site", "name", @"mySite"); if (siteElement == null) throw new InvalidOperationException("Element not found!"); // Create an object for the ftpServer element. ConfigurationElement ftpServerElement = siteElement.GetChildElement("ftpServer"); // Create an instance of the Start method. ConfigurationMethodInstance Start = ftpServerElement.Methods["Start"].CreateInstance(); // Execute the method to start the FTP site. Start.Execute(); } } private static ConfigurationElement FindElement(ConfigurationElementCollection collection, string elementTagName, params string[] keyValues) { foreach (ConfigurationElement element in collection) { if (String.Equals(element.ElementTagName, elementTagName, StringComparison.OrdinalIgnoreCase)) { bool matches = true; for (int i = 0; i < keyValues.Length; i += 2) { object o = element.GetAttributeValue(keyValues[i]); string value = null; if (o != null) { value = o.ToString(); } if (!String.Equals(value, keyValues[i + 1], StringComparison.OrdinalIgnoreCase)) { matches = false; break; } } if (matches) { return element; } } } return null; } }

VB.NET

Imports System Imports System.Text Imports Microsoft.Web.Administration Module Sample Sub Main() Dim serverManager As ServerManager = New ServerManager Dim config As Configuration = serverManager.GetApplicationHostConfiguration ' Retrieve the sites collection. Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites") Dim sitesCollection As ConfigurationElementCollection = sitesSection.GetCollection ' Locate a specific site. Dim siteElement As ConfigurationElement = FindElement(sitesCollection, "site", "name", "mySite") If (siteElement Is Nothing) Then Throw New InvalidOperationException("Element not found!") End If ' Create an object for the ftpServer element. Dim ftpServerElement As ConfigurationElement = siteElement.GetChildElement("ftpServer") ' Create an instance of the FlushLog method. Dim Start As ConfigurationMethodInstance = ftpServerElement.Methods("Start").CreateInstance() ' Execute the method to start the FTP site. Start.Execute() End Sub Private Function FindElement(ByVal collection As ConfigurationElementCollection, ByVal elementTagName As String, ByVal ParamArray keyValues() As String) As ConfigurationElement For Each element As ConfigurationElement In collection If String.Equals(element.ElementTagName, elementTagName, StringComparison.OrdinalIgnoreCase) Then Dim matches As Boolean = True Dim i As Integer For i = 0 To keyValues.Length - 1 Step 2 Dim o As Object = element.GetAttributeValue(keyValues(i)) Dim value As String = Nothing If (Not (o) Is Nothing) Then value = o.ToString End If If Not String.Equals(value, keyValues((i + 1)), StringComparison.OrdinalIgnoreCase) Then matches = False Exit For End If Next If matches Then Return element End If End If Next Return Nothing End Function End Module

JavaScript

// Create a Writable Admin Manager object. var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager'); adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"; // Retrieve the sites collection. var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites","MACHINE/WEBROOT/APPHOST"); var sitesCollection = sitesSection.Collection; // Locate a specific site. var siteElementPos = FindElement(sitesCollection,"site",["name","MySite"]); if (siteElementPos == -1) throw "Element not found!"; // Retrieve the site element. var siteElement = sitesCollection.Item(siteElementPos); // Create an object for the ftpServer element. var ftpServerElement = siteElement.ChildElements.Item("ftpServer"); // Create an instance of the start method. var Start = ftpServerElement.Methods.Item("Start").CreateInstance(); // Execute the method to start the FTP site. Start.Execute(); function FindElement(collection, elementTagName, valuesToMatch) { for (var i = 0; i < collection.Count; i++) { var element = collection.Item(i); if (element.Name == elementTagName) { var matches = true; for (var iVal = 0; iVal < valuesToMatch.length; iVal += 2) { var property = element.GetPropertyByName(valuesToMatch[iVal]); var value = property.Value; if (value != null) { value = value.toString(); } if (value != valuesToMatch[iVal + 1]) { matches = false; break; } } if (matches) { return i; } } } return -1; }

VBScript

' Create a Writable Admin Manager object. Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager") adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST" ' Retrieve the sites collection. Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites","MACHINE/WEBROOT/APPHOST") Set sitesCollection = sitesSection.Collection ' Locate a specific site. siteElementPos = FindElement(sitesCollection,"site",Array("name","MySite")) If siteElementPos = -1 Then WScript.Echo "Element not found!" WScript.Quit End If ' Retrieve the site element. Set siteElement = sitesCollection.Item(siteElementPos) ' Create an object for the ftpServer element. Set ftpServerElement = siteElement.ChildElements.Item("ftpServer") ' Create an instance of the Start method. Set Start = ftpServerElement.Methods.Item("Start").CreateInstance() ' Execute the method to start the FTP site. Start.Execute() Function FindElement(collection, elementTagName, valuesToMatch) For i = 0 To CInt(collection.Count) - 1 Set element = collection.Item(i) If element.Name = elementTagName Then matches = True For iVal = 0 To UBound(valuesToMatch) Step 2 Set property = element.GetPropertyByName(valuesToMatch(iVal)) value = property.Value If Not IsNull(value) Then value = CStr(value) End If If Not value = CStr(valuesToMatch(iVal + 1)) Then matches = False Exit For End If Next If matches Then Exit For End If End If Next If matches Then FindElement = i Else FindElement = -1 End If End Function

How can I create my own FTP server?

Navigate to Start > Control Panel > Administrative Tools > Internet Information Services (IIS) Manager. Once the IIS console is open, expand the local server. Right-click on Sites , and click on Add FTP Site . In the Binding and SSL Settings window, type the IP address of the server.

Can I create FTP server Windows 10?

Configuring an FTP server on Windows 10 Open administrative tools. Double-click Internet information services (IIS) manager. In the next window, expand the folders on your left side pane and navigate to “sites.” Right-click “sites” and choose “add FTP site” option.

How do I setup an FTP client on Windows 10?

On the taskbar, click Start, and then click Control Panel. In Control Panel, click Programs and Features, and then click Turn Windows Features on or off. Expand Internet Information Services, and then FTP Server. Select FTP Service.

Does Windows 10 have FTP client?

Windows 10's FTP client - File Explorer - now attempts to connect to the FTP server. If the connection is established without problems, you get to see all the folders on the server, as if they were folders on your Windows 10 PC.

Chủ đề