Ответ 1
$webAppXml.configuration.'system.web'
В большинстве случаев PowerShell упрощает работу с XML. Тем не менее, у меня возникли проблемы с использованием "точечной" нотации для перехода через файл web.config. Все работает
Import-Module WebAdministration
$site = get-website | ? { $_.name -eq "My Website - 80" }
$WebConfigFile = $site.physicalPath + "\web.config"
[xml]$WebAppXml = Get-Content $WebConfigFile
$webAppXml.configuration.system.web
В последней строке PowerShell использует intellisense для заполнения system.web, но если вы попытаетесь запустить его, вывод будет пустым. Я знаю, что могу использовать объекты Xpath или .NET Xml, но я бы предпочел, если мне это не нужно.
$webAppXml.configuration.'system.web'
Это тоже работает:
например.
$webAppXml.configuration. [ "System.web" ]. Идентичность
В качестве альтернативы вы можете использовать переменные:
$subproperty = 'System.Web' $ WebAppXml.configuration. $Подсвойство
Я считаю, что это самый полезный метод, потому что он позволяет мне легко переключаться в свойствах.
Кстати, вы можете использовать тот же трюк, чтобы перейти к определению метода, и не запускать его.
Надеюсь, что это поможет