共用方式為


FTP 中央記錄選項 < centralLogFile>

概觀

元素 <centralLogFile> 會指定中央記錄檔的設定,當您為 centralLogFileMode 專案的 屬性 <system.ftpServer/log> 指定centralLogFileMode時,會使用此設定。 當您指定集中記錄時,所有 FTP 月臺都會保留單一記錄檔。

相容性

版本 備註
IIS 10.0 <centralLogFile> IIS 10.0 中未修改專案。
IIS 8.5 <centralLogFile> 在 IIS 8.5 中修改專案。
IIS 8.0 在 IIS 8.0 中未修改專案 <centralLogFile>
IIS 7.5 元素 <centralLogFile><log> 元素會隨附為 IIS 7.5 的功能。
IIS 7.0 元素 <centralLogFile><log> 元素是在 FTP 7.0 中引進,這是 IIS 7.0 的個別下載。
IIS 6.0 元素 <system.ftpServer> 及其子項目會取代位於 LM/MSFTPSVC 中繼基底路徑中的 IIS 6.0 FTP 設定。

注意

FTP 7.0 和 FTP 7.5 服務針對 IIS 7.0 隨附頻外,需要從下列 URL 下載並安裝模組:

https://www.iis.net/expand/FTP

使用 Windows 7 和 Windows Server 2008 R2 時,FTP 7.5 服務會隨附為 IIS 7.5 的功能,因此不再需要下載 FTP 服務。

安裝程式

若要支援 Web 服務器的 FTP 發佈,您必須安裝 FTP 服務。 若要這樣做,請使用下列步驟。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在工作列上,按一下 [伺服器管理員]

  2. 伺服器管理員中,按一下 [管理]功能表,然後按一下 [新增角色和功能]。

  3. 在 [ 新增角色和功能 精靈] 中,按 [下一步]。 選取安裝類型,然後按 [ 下一步]。 選取目的地伺服器,然後按 [ 下一步]。

  4. 在 [ 伺服器角色] 頁面上,展開 [Web 服務器] ([IIS) ],然後選取 [ FTP 伺服器]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,除了FTP 服務之外,您還需要選取FTP 擴充性
    [伺服器角色] 頁面中已展開的 [網頁伺服器 I I S 和 F T P 伺服器] 影像,並醒目提示 F T P 伺服器。 .

  5. [下一步],然後在 [ 選取功能 ] 頁面上,再次按 [ 下一步 ]。

  6. 在 [確認安裝選項] 頁面上,按一下 [安裝]

  7. 在 [結果] 頁面上,按一下 [關閉]

Windows 8 或Windows 8.1

  1. 在 [開始] 畫面上,將指標全部移至左下角,以滑鼠右鍵按一下 [開始] 按鈕,然後按一下[主控台]。

  2. 主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。

  3. 展開 [Internet Information Services],然後選取 [FTP 伺服器]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也必須選取 [FTP 擴充性]。
    已展開 F T P 伺服器窗格的螢幕擷取畫面,並已選取並醒目提示 F T P 擴充性。

  4. 按一下 [確定]。

  5. 按一下 [關閉] 。

Windows Server 2008 R2

  1. 在工作列上,按一下 [開始],指向 [系統管理工具],然後按一下[伺服器管理員]。

  2. [伺服器管理員階層] 窗格中,展開 [角色],然後按一下 [Web 服務器] (IIS)

  3. [Web 服務器 (IIS) ] 窗格中,捲動至 [ 角色服務 ] 區段,然後按一下 [ 新增角色服務]。

  4. 在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,展開[FTP 伺服器]。

  5. 選取 [FTP 服務]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也必須選取 [FTP 擴充性]。
    在 [新增角色服務精靈] 的 [選取角色服務] 頁面中,從 [F T P 伺服器] 窗格選取的 F T P 服務的螢幕擷取畫面。

  6. 按一下 [下一步] 。

  7. 在 [確認安裝選項] 頁面上,按一下 [安裝]

  8. 在 [結果] 頁面上,按一下 [關閉]

Windows 7

  1. 在工作列上,按一下 [開始],然後按一下[主控台]。

  2. 主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。

  3. 展開 [Internet Information Services],然後展開 [FTP 伺服器]。

  4. 選取 [FTP 服務]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也必須選取 [FTP 擴充性]。
    從 [F T P 伺服器] 窗格選取的 F T P 擴充性螢幕擷取畫面。

  5. 按一下 [確定]。

Windows Server 2008 或 Windows Vista

  1. 從下列 URL 下載安裝套件:

  2. 請遵循下列逐步解說中的指示來安裝 FTP 服務:

作法

如何設定 FTP 服務的月臺層級或伺服器層級記錄

  1. (IIS) 管理員開啟 Internet Information Services

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
  2. 在 [ 連線 ] 窗格中,按一下伺服器名稱。

  3. 在 [ 首頁] 窗格中,按兩下 [FTP 記錄 ] 功能。
    [首頁] 窗格的螢幕擷取畫面,其中已選取 F T P 記錄。

  4. [每個記錄檔] 下拉式清單中,選擇下列其中一個選項:

    • 選擇 [站 台] 以指定每個 FTP 月臺都會寫入個別記錄檔。
    • 選擇 [伺服器 ] 以指定所有 FTP 月臺的單一記錄檔。
      F T P 記錄的螢幕擷取畫面,其中顯示從每個下拉式清單和記錄檔下拉式功能表中選擇的網站。
  5. 在 [動作] 窗格中,按一下 [套用]

組態

專案 <centralLogFile> 是在全域層級設定ApplicationHost.config。

屬性 描述
directory 選擇性字串屬性。

指定記錄目錄,其中會儲存記錄檔和記錄相關的支援檔案。

預設值是 %SystemDrive%\inetpub\logs\LogFiles
enabled 選擇性 Boolean 屬性。

如果已啟用記錄,則為true;否則為 false

預設值是 true
localTimeRollover 選擇性 Boolean 屬性。

如果根據當地時間建立新的記錄檔,則為true;否則為false表示國際標準時間 (UTC) ,先前稱為 Greenwich Mean Time (GMT) 。

注意: 不論設定為何,每個 W3C 擴充記錄記錄記錄的時間戳記都是以 UTC 為基礎。

預設值是 false
logExtFileFlags 選擇性旗標屬性。

指定當您在網站記錄事件期間使用 W3C 擴充記錄檔格式) 或 ODBC 資料來源時,寫入記錄檔 (的資訊類別。 logExtFileFlags屬性可以是下列一或多個值。 如果您指定多個值,請使用逗號分隔 (,) 。

預設值為 DateTimeServerIPMethodUriStemUserNameClientIPFtpStatus 、、 FtpSubStatusServerPortWin32StatusSession 、 和 。 FullPath
描述
BytesRecv 記錄伺服器收到的位元組數目。

數值為 8192
BytesSent 記錄伺服器傳送的位元組數目。

數值為 4096
ClientIP 記錄提出要求之用戶端的 IP 位址。

數值為 4
ClientPort 記錄發出要求的用戶端埠。

數值為 33554432
ComputerName 記錄產生記錄檔專案所在的伺服器名稱。

數值為 32
Date 記錄活動發生的日期。

數值為 1
FtpStatus 記錄 FTP 狀態碼。

數值為 1024
FtpSubStatus 記錄 FTP 錯誤的子狀態碼。

數值為 2097152
FullPath 記錄完整相對路徑。 注意:這可能不同于用戶端要求的 URI,這是藉由設定 旗標所記錄的 UriStem

數值為 8388608
Host 如果有虛擬主機名稱,請記錄。

數值為 1048576
Info 如果有的話,請記錄擴充偵錯資訊。

數值為 16777216
Method 記錄所要求的動作。 例如, USERPASS等。

數值為 128
ServerIP 記錄產生記錄檔專案之伺服器的 IP 位址。

數值為 64
ServerPort 記錄為月臺設定的伺服器埠號碼。

數值為 32768
Session 記錄 FTP 會話的唯一識別碼。 這適用于分析記錄中的會話活動。

數值為 4194304
SiteName 記錄月臺的網際網路服務名稱和實例編號。

數值為 16
Time 以國際標準時間 (UTC) 記錄發生活動的時間。

數值為 2
TimeTaken 記錄要求完成所花費的時間長度。 所花費的時間會以毫秒為單位記錄。

數值為 16384
UriStem 記錄通用資源識別碼 (URI) 字幹資訊,這是動作的目標。 注意:這會顯示與用戶端要求完全相同的 URI 字幹,這可能不是完整的相對路徑。 針對完整相對路徑,請使用 FullPath 旗標。

數值為 256
UserName 記錄存取伺服器之已驗證使用者的名稱。 匿名使用者會以連字號表示。

數值為 8
Win32Status 記錄 Windows 狀態碼。

數值為 2048
period 選擇性列舉屬性。

指定 FTP 服務建立新記錄檔的頻率。 屬性 period 可以是下列其中一個可能的值。

預設值是 Daily
描述
Daily 每天建立新的記錄檔。

數值為 1
Hourly 每小時建立新的記錄檔。

數值為 4
MaxSize 達到大小上限時,請建立新的記錄檔。 在 truncateSize 屬性中指定大小上限。

數值為 0
Monthly 每月建立新的記錄檔。

數值為 3
Weekly 每週建立新的記錄檔。

數值為 2
selectiveLogging 選擇性旗標屬性。

指定 FTP 記錄的詳細資訊。

預設值是 LogSuccessful,LogError,LogInfrastructure
描述
LogError 指定將會記錄錯誤。 實際記錄的資料量也取決於旗標的 LogInfrastructure 設定。

數值為 2
LogInfrastructure 指定將會記錄所有 FTP 命令和低階資料通道活動。 例如,如果 LogInfrastructure 設定旗標,則記錄會包含 DataChannelOpened、DataChannelClosed、PORT/EPRT 和 PASV/EPSV 的專案。

數值為 4
LogSuccessful 指定將會記錄成功的活動。 實際記錄的資料量也取決於旗標的 LogInfrastructure 設定。

數值為 1
truncateSize 選擇性 int64 屬性。

指定記錄檔的大小上限, (位元組) 之後建立新的記錄檔。 只有在為 period 屬性選擇時 MaxSize ,才適用這個值。 檔案大小下限為 1,048,576 個位元組。 如果此屬性設定為小於 1,048,576 個位元組的值,則預設值會隱含假設為 1,048,576 個位元組。

預設值是 20971520

子元素

無。

組態範例

下列組態範例會啟用 FTP 服務的中央檔案記錄。

<system.ftpServer>
   <log centralLogFileMode="Central">
      <centralLogFile enabled="true" />
   </log>
</system.ftpServer>

範例程式碼

下列範例會啟用 FTP 服務的中央檔案記錄。

AppCmd.exe

appcmd.exe set config -section:system.ftpServer/log /centralLogFileMode:"Central" /commit:apphost

appcmd.exe set config -section:system.ftpServer/log /centralLogFile.enabled:"True" /commit:apphost

注意

當您使用 AppCmd.exe 來設定這些設定時,請務必將 認可 參數 apphost 設定為 。 這會將組態設定認可至ApplicationHost.config檔案中的適當位置區段。

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();

         ConfigurationSection logSection = config.GetSection("system.ftpServer/log");
         logSection["centralLogFileMode"] = @"Central";

         ConfigurationElement centralLogFileElement = logSection.GetChildElement("centralLogFile");
         centralLogFileElement["enabled"] = true;

         serverManager.CommitChanges();
      }
   }
}

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

      Dim logSection As ConfigurationSection = config.GetSection("system.ftpServer/log")
      logSection("centralLogFileMode") = "Central"

      Dim centralLogFileElement As ConfigurationElement = logSection.GetChildElement("centralLogFile")
      centralLogFileElement("enabled") = True

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var logSection = adminManager.GetAdminSection("system.ftpServer/log", "MACHINE/WEBROOT/APPHOST");
logSection.Properties.Item("centralLogFileMode").Value = "Central";

var centralLogFileElement = logSection.ChildElements.Item("centralLogFile");
centralLogFileElement.Properties.Item("enabled").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set logSection = adminManager.GetAdminSection("system.ftpServer/log", "MACHINE/WEBROOT/APPHOST")
logSection.Properties.Item("centralLogFileMode").Value = "Central"

Set centralLogFileElement = logSection.ChildElements.Item("centralLogFile")
centralLogFileElement.Properties.Item("enabled").Value = True

adminManager.CommitChanges()