所有站 < 台 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 的預設安裝中。
作法
如何設定伺服器的預設虛擬目錄認證
(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) 管理員]。
在 [ 連線 ] 窗格中,展開伺服器名稱,然後按一下 [ 月臺] 節點。
組態
屬性
屬性 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
allowSubDirConfig |
選擇性的 Boolean 屬性。 指定 IIS 是否會在目錄階層中低於目前層級的內容目錄中尋找Web.config檔案, (true) ,或不會在低於目前層級的內容目錄中尋找Web.config檔案, (false) 。 預設值是 true 。 |
||||||||||
logonMethod |
選擇性列舉屬性。 指定伺服器上所有虛擬目錄的預設登入方法。 logonMethod屬性可以有下列其中一個可能的值。 預設值為 ClearText 。
|
||||||||||
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()