共用方式為


所有站 < 台 virtualDirectoryDefaults 的虛擬目錄預設值>

概觀

元素 <virtualDirectoryDefaults><sites> 元素會指定伺服器上所有虛擬目錄的預設設定。 元素 <virtualDirectoryDefaults> 可用於定義您希望伺服器上所有虛擬目錄在沒有明確定義屬性時隱含共用的通用屬性。

注意

如果區段和 <virtualDirectory> 區段中都設定 <virtualDirectoryDefaults> 了特定虛擬目錄的相同屬性或子專案,則區段中的 <virtualDirectory> 組態會用於該虛擬目錄。

相容性

版本 備註
IIS 10.0 <virtualDirectoryDefaults> IIS 10.0 中未修改專案。
IIS 8.5 <virtualDirectoryDefaults> 在 IIS 8.5 中修改專案。
IIS 8.0 在 IIS 8.0 中未修改專案 <virtualDirectoryDefaults>
IIS 7.5 <virtualDirectoryDefaults> 在 IIS 7.5 中修改專案。
IIS 7.0 元素 <virtualDirectoryDefaults><sites> 元素是在 IIS 7.0 中引進。
IIS 6.0 N/A

安裝程式

元素 <virtualDirectoryDefaults><sites> 元素包含在 IIS 7 的預設安裝中。

作法

如何設定伺服器的預設虛擬目錄認證

  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. 在伺服器的 [網站]窗格中,按一下 [動作] 窗格中的 [設定網站預設值...]。
    顯示 [Internet Information Services Manager] 窗格的螢幕擷取畫面。[網站] 的連線會反白顯示。

  4. 在 [ 網站預設值] 對話方塊中,指定所有網站的預設虛擬目錄認證,然後按一下 [ 確定]。
    顯示網站預設值的螢幕擷取畫面。應用程式集區已醒目提示。

組態

屬性

屬性 描述
allowSubDirConfig 選擇性的 Boolean 屬性。

指定 IIS 是否會在目錄階層中低於目前層級的內容目錄中尋找Web.config檔案, (true) ,或不會在低於目前層級的內容目錄中尋找Web.config檔案, (false) 。

預設值是 true
logonMethod 選擇性列舉屬性。

指定伺服器上所有虛擬目錄的預設登入方法。

logonMethod屬性可以有下列其中一個可能的值。 預設值為 ClearText
描述
Batch 此登入類型適用于批次伺服器,其中進程可能會代表使用者執行,而不需要該使用者的直接介入。

數值為 1
ClearText 此登入類型會保留驗證套件中的名稱和密碼。 這可讓伺服器在模擬用戶端時連線到其他網路伺服器。

數值為 3
Interactive 此登入類型適用于以互動方式使用電腦的使用者。

數值為 0
Network 此登入類型適用于驗證純文字密碼的高效能伺服器。 此登入類型不會快取認證。

數值為 2
如需這些值的詳細資訊,請參閱 LogonUser
password 選擇性字串屬性。

指定與使用者名稱相關聯的密碼。

注意: 若要避免在組態檔中儲存未加密的密碼字串,請一律使用 AppCmd.exe 或 IIS 管理員來輸入密碼。 如果您使用這些管理工具,密碼字串將會在寫入 XML 組態檔之前自動加密。 這提供比儲存未加密密碼更好的密碼安全性。
path 選擇性字串屬性。

指定伺服器上所有虛擬目錄的預設虛擬路徑。
physicalPath 選擇性字串屬性。

指定伺服器上所有虛擬目錄的預設實體路徑。
userName 選擇性字串屬性。

指定帳戶的預設使用者名稱,該帳戶可以存取伺服器上所有虛擬目錄的組態檔和內容。

子元素

無。

組態範例

下列組態範例會指定伺服器上所有虛擬目錄的預設登入方法。

<sites>
   <virtualDirectoryDefaults logonMethod="Network" />
</sites>

範例程式碼

下列程式碼範例會指定伺服器上所有虛擬目錄的預設登入方法。

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /virtualDirectoryDefaults.logonMethod:"Network" /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 sitesSection = config.GetSection("system.applicationHost/sites");

         ConfigurationElement virtualDirectoryDefaultsElement = sitesSection.GetChildElement("virtualDirectoryDefaults");
         virtualDirectoryDefaultsElement["logonMethod"] = @"Network";

         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 sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")

      Dim virtualDirectoryDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("virtualDirectoryDefaults")
      virtualDirectoryDefaultsElement("logonMethod") = "Network"

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

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

var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var virtualDirectoryDefaultsElement = sitesSection.ChildElements.Item("virtualDirectoryDefaults");
virtualDirectoryDefaultsElement.Properties.Item("logonMethod").Value = "Network";

adminManager.CommitChanges();

VBScript

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

Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set virtualDirectoryDefaultsElement = sitesSection.ChildElements.Item("virtualDirectoryDefaults")
virtualDirectoryDefaultsElement.Properties.Item("logonMethod").Value = "Network"

adminManager.CommitChanges()