Ich möchte ein Objekt aus einem Array zurückgeben, dessen Eigenschaft den höchsten Wert hat. Zur Zeit mache ich folgendeRückgabeobjekt aus Array mit höchstem Wert
Get-VM | Sort-Object -Property ProvisionedSpaceGB | Select-Object -Last 1
Das funktioniert aber ineffizient. Ich brauche nicht das gesamte Array sortiert, ich brauche nur das Objekt mit dem größten Wert. Idealerweise würde ich etwas wie
Get-VM | Measure-Object -Property ProvisionedSpaceGB -Maximum
verwenden, aber dies gibt nur den Wert der Objekteigenschaft zurück, nicht das gesamte Objekt. Gibt es eine Möglichkeit, dass measure-object das Basisobjekt zurückgibt?
Wenn Sie neu geschrieben '$ array | ? {$ _ ProvisionedSpaceGB -eq $ max.} ' als ' @ ($ array | {$ _. ProvisionedSpaceGB -eq $ max}) [0] ' die einen einzelnen Wert für Sie zurückkommen könnte, aber als Hyper Anthony bemerkte, nicht immer derjenige, den Sie wollten. –