PowerShell makes working with XML fairly easy in most cases. However, I'm having trouble using the "dot" notation to walk through a web.config file. Everything works
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
On the last line, PowerShell uses intellisense to fill in system.web, but if you try to run it, the output is null. I know I can use Xpath or the .NET Xml objects, but I'd rather not if I don't have to.
$webAppXml.configuration.'system.web'
This works too:
e.g.
$webAppXml.configuration.["system.web"].Identity
Alternatively, you can use variables:
$subproperty = 'System.Web'
$webAppXml.configuration.$subproperty
I find this to be the most useful technique, because it lets me switch properties easily.
BTW, you can use the same trick to get to a method definition, and not run it.
Hope this Helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With