Для получения файлов csproj используйте Get-ChildItem
Get-ChildItem c:\myProjects *.csproj -recurse
Тогда вы можете использовать, например, Select-Xml
как это:
$ns = @{ defaultNamespace = "http://schemas.microsoft.com/developer/msbuild/2003" }
Get-ChildItem c:\myProjects *.csproj -recurse |
Select-Xml -xpath '//defaultNamespace:PropertyGroup[1]' -namespace $ns |
Select-Object -expand Node
Вы должны исправить пространство имен по умолчанию. У меня нет файла csproj от руки прямо сейчас.
(Подробнее о xml и xpath в PowerShell см. http://huddledmasses.org/xpath-and-namespaces-in-powershell/)
Select-Object
необходим для расширения фактического свойства узла.
Если вы хотите работать с xml, как с объектом, вы можете использовать это:
Get-ChildItem c:\myProjects *.csproj -recurse |
% { $content = [xml](gc $_.FullName); $content.Project.PropertyGroup[someindex...] }