Capture variables multilínea, multigrupo a Powershell

Idealmente, me gustaría crear un objeto de ipconfig que nos permita profundizar en los atributos de cada adaptador de esta manera: $ ip. $ Lan. $ Mac para la dirección mac del adaptador lan.

Para comenzar, me gustaría desarrollar una forma de capturar estos 3 grupos (tipo de adaptador, nombre del adaptador, atributos del adaptador) por coincidencia de adaptador en variables de Powershell (se prefieren los objetos):https://regex101.com/r/wZ3sV1/1

Aquí hay algunas ideas para capturar tres partes de la sección del adaptador Ethernet, pero solo capturan "Conexión de área local del adaptador Ethernet":

$ip = ipconfig /all

$ip_lan = $ip | Select-String -pattern "(Ethernet [^a]*adapter) (Local[^:]+):\s*(([^\n]+\n)*)" -AllMatches | Foreach {$_.Matches} | ForEach-Object {$_.Value}

$regex_lan = [regex]"(Ethernet [^a]*adapter) (Local[^:]+):\n*(( +[^\n]+\n)*)"
$regex_lan.Matches($ip)
$regex_lan.Matches($ip).value

Además, ¿hay alguna manera de capturar el nombre de la extracción del grupo de esta manera ?:

   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller

se convierte en Descripción = Realtek PCIe GBE Family Controller

Respuestas a la pregunta(4)

Su respuesta a la pregunta