Поскольку строки для удаления, похоже, не имеют ничего общего, эта длинная замена регулярного выражения может помочь:
$re = '\s+(DMI:\s+DMI BIOS Vendor|Motherboard manufacturer:\s+company name|BIOS Attributes:\s+System BIOS date)[^-]+'
$nlnl = ([Environment]::NewLine * 2) # replace with two newlines
(Get-Content -Path 'PATH TO THE FILE' -Raw) -replace $re, $nlnl -replace 'AIDA64 Engineer', 'AIDA64 Ultimate'
Результат:
--------[ AIDA64 Ultimate ]------------------------------------------------------------
version AIDA64 Ultimate v6.00.5100/cn
--------[ System verview ]-------------------------------------------------------------
Motherboard:
Processor name Mobile DualCore Intel
--------[ DMI ]------------------------------------------------------------------------
[ BIOS ]
BIOS Attributes:
Vendor Phoenix Technologies Ltd.
[ Motherboard ]
Motherboard:
manufacturer Intel Corp.
--------[ Overclocking ]---------------------------------------------------------------
Motherboard:
Motherboard ID <DMI>
--------[ PCI/PnP Network ]------------------------------------------------------------
Atheros AR5009 802.11a/g/n Wireless PCI
Broadcom NetLink BCM57785 PCI-E PCI
Редактировать Если вы хотите заменить AIDA64 Engineer
в заголовке, а не в тексте позже, измените эту часть:
-replace 'AIDA64 Engineer', 'AIDA64 Ultimate'
на
-replace '\[ AIDA64 Engineer \]', '[ AIDA64 Ultimate ]'