Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
# パッシブモードで使用するポートの範囲を設定
# FTP サーバー稼働ホストで空いている任意のポート範囲を指定
# 下例は 60000 - 60100 を設定
PS C:\Users\Administrator> Set-WebConfiguration "/system.ftpServer/firewallSupport" -PSPath "IIS:\" -Value @{lowDataChannelPort="60000";highDataChannelPort="60100";}
# 設定確認
PS C:\Users\Administrator> Get-IISConfigSection -SectionPath "system.ftpServer/firewallSupport"
IsLocked : False
OverrideMode : Inherit
OverrideModeEffective : Deny
SectionPath : system.ftpServer/firewallSupport
Attributes : {lowDataChannelPort, highDataChannelPort}
ChildElements : {}
ElementTagName : system.ftpServer/firewallSupport
IsLocallyStored : True
Methods :
RawAttributes : {[lowDataChannelPort, 60000], [highDataChannelPort, 60100]}
Schema : Microsoft.Web.Administration.ConfigurationElementSchema
# FTP サーバー再起動
PS C:\Users\Administrator> Restart-Service ftpsvc
# Windows ファイアウォールは事前定義が存在するため対応不要
PS C:\Users\Administrator> Get-NetFirewallRule -DisplayName "FTP*" | Select Name
Name
----
IIS-WebServerRole-FTP-In-TCP-990
IIS-WebServerRole-FTP-Out-TCP-20
IIS-WebServerRole-FTP-Out-TCP-989
IIS-WebServerRole-FTP-In-TCP-21
IIS-WebServerRole-FTP-Passive-In-TCP
PS C:\Users\Administrator> Get-NetFirewallRule -Name "IIS-WebServerRole-FTP-In-TCP-21" | Get-NetFirewallPortFilter
Protocol : TCP
LocalPort : 21
RemotePort : Any
IcmpType : Any
DynamicTarget : Any
PS C:\Users\Administrator> Get-NetFirewallRule -Name "IIS-WebServerRole-FTP-Passive-In-TCP" | Get-NetFirewallPortFilter
Protocol : TCP
LocalPort : 1024-65535
RemotePort : Any
IcmpType : Any
DynamicTarget : Any
|