Click here to Skip to main content
15,892,517 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: (untagged)
Hi everybody.

Can anybody tell me how I can access metabase.xml file through powershell? I need to get details like:
AppAllowClientDebug,
anonymous User name,
AppAllowDebugging,
AspEnableParentPaths,
AspScriptErrorSenttoBrowsers and so on from the metabase.xml through powershell.

This XML is located at the location : C:\WINDOWS\system32\inetsrv
Any suggestions would be of great help.
Posted
Updated 15-Dec-10 20:30pm
v2
Comments
JF2015 16-Dec-10 2:30am    
Edited to remove pre tags.

1 solution

This CodeProject article can be useful: PowerShell and XML[^].

This is another short article: https://devcentral.f5.com/blogs/us/powershell-abcs-x-is-for-xml[^].

For some more detail, please see: http://www.pavleck.net/powershell-cookbook/ch10.html[^].

However, these are just the PowerShell-specific aspects of it. If you need more serious approach, you can use all power of .NET API. First, you need to know how to access .NET assemblies:
http://www.pavleck.net/powershell-cookbook/ch17.html#access_a_net_sdk_library[^].

This is how you can load the assembly, on one example:
C#
$null = [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")


And then you can use all power of .NET parsing and writing available in .NET BCL. Here is my short overview of what you can use:

  1. Use System.Xml.XmlDocument class. It implements DOM interface; this way is the easiest and good enough if the size if the document is not too big.
    See http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx[^].
  2. Use the classes System.Xml.XmlTextWriter and System.Xml.XmlTextReader; this is the fastest way of reading, especially is you need to skip some data.
    See http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.aspx[^], http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx[^].
  3. Use the class System.Xml.Linq.XDocument; this is the most adequate way similar to that of XmlDocument, supporting LINQ to XML Programming.
    See http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx[^], http://msdn.microsoft.com/en-us/library/bb387063.aspx[^].


You can also use C# or VB.NET code in your script using Add-Type: http://www.pavleck.net/powershell-cookbook/ch17.html#define_extend_net_class[^].

Happy New Year!

—SA
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900