Vector BCO
((get-content $filepath -Encoding UTF8 -Raw) -replace '(\d{8})(\r\n?){2}([A-Z]\d+)', '## $1 : $3 ##').split("`r") | Select-String -Pattern '## (?''id1''\d{8}) : (?''id2''[A-Z]\d+) ##' -AllMatches | % {($_.Matches.Groups | where Name -In 'id1','id2').Value}
залупа какая, лучше 20 строк простого императивного кода написать по шагам, чтобы потом было поддерживаемо