Configuration Path Search Result Sections <section>
The <section>
element of the <searchResult>
element contains a collection of section names returned by the configuration search. For example, "system.webServer/security/authentication/windowsAuthentication."
Version | Notes |
---|---|
IIS 10.0 | The <section> element was not modified in IIS 10.0. |
IIS 8.5 | The <section> element was not modified in IIS 8.5. |
IIS 8.0 | The <section> element was not modified in IIS 8.0. |
IIS 7.5 | The <section> element was not modified in IIS 7.5. |
IIS 7.0 | The <section> element of the <searchResult> element was introduced in IIS 7.0. |
IIS 6.0 | N/A |
The <section>
element of the <searchResult>
element is included in the default installation of IIS 7.
There is no user interface for the <CONFIGPATHS>
element for IIS 7. For examples of how to access the <CONFIGPATHS>
element programmatically, see the Code Samples section of this document.
Attribute | Description |
---|---|
name |
Required string attribute. Specifies the name of the section returned by the configuration search. |
None.
Note
The <configPaths>
element is generated dynamically. Because of this, you cannot add a <configPaths>
element to your configuration files. For examples of how to access the <configPaths>
element programmatically, see the Code Samples section of this document.
The following code examples use the <configPaths>
element to search the Default Web Site configuration namespace for every <system.webServer/defaultDocument>
element, and then output the path and location for each element to the console.
Note
You cannot query <configPaths>
settings using AppCmd.exe.
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.GetWebConfiguration("Default Web Site");
ConfigurationSection configPathsSection = config.GetSection("configPaths");
ConfigurationElementCollection searchResultCollection = configPathsSection.GetCollection();
foreach (ConfigurationElement searchResultElement in searchResultCollection)
{
string path = (string)searchResultElement["path"];
string locationPath = (string)searchResultElement["locationPath"];
foreach (ConfigurationElement sectionElement in searchResultElement.GetCollection())
{
if (string.Compare("system.webServer/defaultDocument",
(string)sectionElement["name"], false) == 0)
{
Console.WriteLine("Path: " + path);
if (!String.IsNullOrEmpty(locationPath))
{
Console.WriteLine("\tLocation: " + locationPath);
Console.WriteLine("\t\tName: " + sectionElement["name"]);
}
else Console.WriteLine("\tName: " + sectionElement["name"]);
}
}
}
}
}
}
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
Dim configPathsSection As ConfigurationSection = config.GetSection("configPaths")
Dim searchResultCollection As ConfigurationElementCollection = configPathsSection.GetCollection
For Each searchResultElement As ConfigurationElement In searchResultCollection
Dim path As String = CType(searchResultElement("path"), String)
Dim locationPath As String = CType(searchResultElement("locationPath"), String)
For Each sectionElement As ConfigurationElement In searchResultElement.GetCollection
If (String.Compare("system.webServer/defaultDocument", _
CType(sectionElement("name"), String), False) = 0) Then
Console.WriteLine(("Path: " + path))
If Not String.IsNullOrEmpty(locationPath) Then
Console.WriteLine((vbTab & "Location: " + locationPath))
Console.WriteLine((vbTab & vbTab & "Name: " + sectionElement("name")))
Else
Console.WriteLine((vbTab & "Name: " + sectionElement("name")))
End If
End If
Next
Next
End Sub
End Module
var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager");
var configPathsSection = adminManager.GetAdminSection("configPaths", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var searchResultCollection = configPathsSection.Collection;
for (var i = 0; i < searchResultCollection.Count; i++)
{
var searchResultElement = searchResultCollection.Item(i);
var path = searchResultElement.GetPropertyByName("path").Value;
var locationPath = searchResultElement.GetPropertyByName("locationPath").Value;
sectionElementCollection = searchResultElement.Collection;
for (var j = 0; j < sectionElementCollection.Count; j++)
{
var sectionElement = sectionElementCollection.Item(j);
var name = sectionElement.GetPropertyByName("name").Value;
if (name == "system.webServer/defaultDocument")
{
WScript.Echo("Path: " + path);
if (locationPath!="")
{
WScript.Echo("\tLocation: " + locationPath);
WScript.Echo("\t\tName: " + name);
}
else WScript.Echo("\tName: " + name);
}
}
}
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
Set configPathsSection = adminManager.GetAdminSection("configPaths", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set searchResultCollection = configPathsSection.Collection
For i = 0 To CInt(searchResultCollection.Count) - 1
Set searchResultElement = searchResultCollection.Item(i)
path = searchResultElement.GetPropertyByName("path").Value
locationPath = searchResultElement.GetPropertyByName("locationPath").Value
Set sectionElementCollection = searchResultElement.Collection
For j = 0 To CInt(sectionElementCollection.Count) - 1
Set sectionElement = sectionElementCollection.Item(j)
name = sectionElement.GetPropertyByName("name").Value
If name = "system.webServer/defaultDocument" Then
WScript.Echo "Path: " + path
If locationPath<>"" Then
WScript.Echo(vbTab & "Location: " + locationPath)
WScript.Echo(vbTab & vbTab & "Name: " + name)
Else
WScript.Echo(vbTab & "Name: " + name)
End if
End If
Next
Next