Where-Object gibt keinen Inhalt zurück

412
Nick Dewitte

Ich beginne mit Windows Server 2016 und verwende eine reine CLI-Version. Ich versuche zu ermitteln, welche Funktionen auf meinem Computer installiert sind. Ich habe das versucht, indem ich Sachen mit angesehen habe

Get-WindowsFeature 

Natürlich mag ich es nicht, alles manuell zu lesen, um zu sehen, ob es installiert ist oder nicht. Ich möchte also nur die Dinge auflisten, die tatsächlich installiert sind. Ich habe es mit folgendem Befehl versucht:

Get-WindowsFeature | Where-Object {$_."install state" -like "Installed"} 

Dies gibt überhaupt nichts zurück (Beachten Sie, dass, wenn ich alles sehe, Module installiert sind). Und wenn ich versuche, das Kommando unten auszuführen, bekomme ich tatsächlich Inhalte zurückgegeben:

Get-WindowsFeature | Where-Object {$_."name" -like "dns"} 

Was mache ich falsch? Ist es eine falsche Verwendung des Befehls, ist der Name für "install state" etwas anderes?

1

2 Antworten auf die Frage

0

Durch das Senden der Befehlsausgabe können Sie Format-Customimmer die gewünschten Eigenschaftsnamen ermitteln.

In diesem Fall:

Get-WindowsFeature | Where-Object {$_.InstallState -like "Installed"} 

... wird Ihr Problem lösen.

Das funktioniert. Anscheinend war es der Name, der sich im zugrundeliegenden Code unterschied. Vielen Dank, auch schön, dass es die ursprüngliche Formatierung beibehält Nick Dewitte vor 7 Jahren 0
0
DavidPostill

Ich versuche zu ermitteln, welche Funktionen auf meinem Computer installiert sind.

Verwenden Sie den folgenden PowerShell-Befehl:

Dieser PowerShell One-Liner importiert das ServerManager-Modul und zeigt die aktuell installierten Windows-Rollen und -Funktionen an.

Import-module servermanager ; Get-WindowsFeature | where-object {$_.Installed -eq $True} | format-list DisplayName 

Um nur True oder False zurückzugeben, wenn eine bestimmte Rolle oder ein bestimmtes Feature installiert ist, können Sie Folgendes verwenden (wobei die Hyper-V-Rolle als Beispiel verwendet wird):

Import-module servermanager ; (Get-WindowsFeature -name hyper-v).Installed 

Weitere Informationen finden Sie unter: http://technet.microsoft.com/en-us/library/cc732757.aspx

Quellenshow Installierte Windows-Rollen und -Funktionen

tl; dr: Es funktioniert, hat aber auch Nachteile: Es gibt die korrekten Daten zurück, aber es wird nur der Anzeigename angezeigt, sodass die Hierarchie nicht mehr sichtbar ist. Die Antwort unten ist besser. Aber es funktioniert trotzdem, also danke! Nick Dewitte vor 7 Jahren 0
@ sniker824 Entfernen Sie `| format-list DisplayName` aus dem Befehl DavidPostill vor 7 Jahren 0