Wie bereits erwähnt, DotNotation (Intellisense) 1: 1/Einzelknoten/Sammel Sache. Sie können dies überprüfen, indem Sie das Ergebnis des Aufrufs an XML übergeben und die Knoten durchlaufen.
(Get-CimInstance Win32_BaseBoard | ConvertTo-Xml).Objects.Object.Property
(Get-CimInstance Win32_BaseBoard | ConvertTo-Xml).Objects.Object.Property.name
(Get-CimInstance Win32_BaseBoard | ConvertTo-Xml).Objects.Object.Property.'#text'
Die einzige andere Option aus der Spitze von meinem Kopf ist die Konstruktion einen Proxy, Aufzählungen und schaltet für alle möglichen Eigenschaften für die Namespace Sie verwenden verwendet.
Das ist viel mehr unnötigen Aufwand und Code, um nur zu tun, was BenH darauf hingewiesen hat, speziell weil Sie das für jede Klasse tun müssten.
Nun, wenn Sie sich nur zu Kurzschrift wollen, vielleicht tun, um diesen
$Base = Get-CimInstance Win32_BaseBoard
$Base.Manufacturer;$base.Model;$base.Name;$Base.PartNumber
Aber das ist nur unhandlich, vor allem, da all dies wirklich einzelne Befehle eingestellt mit dem Befehl Pause Separator in einer einzigen Zeile ist zu tun das Semikolon. Was ist eine falsche Sache zu tun. MEINER BESCHEIDENEN MEINUNG NACH.
--- kleine rant --- Wenn Sie den Separator brauchen, dann legen Sie einfach das nächste Ding auf eine neue Linie und vermeiden Sie das Semikolon. Ich meine, ich kann dieses Semikolon als den PoSH-Konsolen-Host verwenden, aber in einem echten Skript, Funktion, Modul, nun, einfach, nein. Auch hier IMHO --- kleine Tirade ---
Schließlich je nachdem, was Ihr Ziel Posh-Version ist, hatte DotNotation Probleme in v2 - v3 Tage
Dot Notation nicht wie das funktioniert. Sie könnten jedoch so etwas tun: ''Hersteller', 'Produkt' | % {(Get-CimInstance Win32_BaseBoard).$ _} ' – BenH
Danke BenH! Das wird ausreichen, um mein Problem zu lösen. Wenn jemand eine andere Lösung kennt, kann er sie in den Kommentaren teilen. –