Подтвердить что ты не робот

Как вы можете использовать PowerShell. (точка) для обозначения элементов с периодами в имени элемента?

В большинстве случаев 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, но я бы предпочел, если мне это не нужно.

4b9b3361

Ответ 1

$webAppXml.configuration.'system.web'

Ответ 2

Это тоже работает:

например.

$webAppXml.configuration. [ "System.web" ]. Идентичность

Ответ 3

В качестве альтернативы вы можете использовать переменные:

$subproperty = 'System.Web' $ WebAppXml.configuration. $Подсвойство

Я считаю, что это самый полезный метод, потому что он позволяет мне легко переключаться в свойствах.

Кстати, вы можете использовать тот же трюк, чтобы перейти к определению метода, и не запускать его.

Надеюсь, что это поможет