На основании ответа Джоуи, но с использованием некоторого удобного поведения для неявной обработки исключений. Сначала добавьте свойство расширения:
Update-TypeData -TypeName System.IO.FileInfo -MemberType ScriptProperty -MemberName AssemblyVersion -Value { [Reflection.AssemblyName]::GetAssemblyName($this.FullName).Version }
Это можно добавить в ваш профиль для повторного использования. Тогда фактический выбор будет, например,
Get-ChildItem -Filter *.dll -Recurse | Select-Object Name,AssemblyVersion
В качестве дополнительного примечания, основная причина, по которой я публикую это в качестве дополнительного ответа, заключается в пользу таких новичков PowerShell, как я: мне потребовалось много времени, чтобы выяснить, что $_
в ответе Джои должно быть превращено в $this
в определении, данном Update-TypeData
.