I continue to be amazed at how easy it is to manipulate COM libraries from within Powershell. I think it is the fact that you can experiment interactively with the object instances and interrogate the objects with get-member that makes it so convenient.
I was trying to automate the building of some database documentation using Innovasys DocumentX and I decided Powershell would be way more fun than VBScript, Nant, MSBuild...
Innovasys do not have any documentation on how to do this, so I had to do some poking around and the following script is what I came up with
$proj = new-object -comObject "DocumentX4Objects.DXProject"$file = resolve-path "./MyProject.dxp"$proj.LoadFromFile($file)$proj.Build()$proj.Compile()
Could that be any easier?