Warum kann ich den Wert einiger Eigenschaften nicht ermitteln?

330
yode

Da kann ich das Get-Hostdurch einige Eigenschaften wissen

Get-Host|Get-Member 

Aber warum kann ich es nicht Get-Host.Versionoder Get-Host.UI? Und jede Methode kann helfen, das Produkt zu bekommen das Ergebnis von Get-Hostgetrennt?

0
Versuchen Sie `(Get-Host) .UI` und` (Get-Host) .Version` LotPings vor 6 Jahren 2
@LotPings Vielen Dank. Aber immer noch etwas verwirrend. Warum [$ PSVersionTable] (http://i.stack.imgur.com/4a555.png) gut funktionieren? Könnten Sie eine kleine Erklärung geben? yode vor 6 Jahren 0

1 Antwort auf die Frage

1
LotPings

Get-Hostist ein Cmdlet. Es muss ausgeführt werden, um die Eigenschaften anzuzeigen.
Dies geschieht mit einem Befehl wie diesem

PS> $var = Get-Host PS> $var.Version 

Wenn Sie einfach Folgendes eingeben:

> get-host.version 

get-host.version: Der Begriff "get-host.version" wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens oder überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut.

Diese Fehlermeldung erklärt, warum dies nicht funktioniert.

(Klammern / Klammern) funktionieren genau wie in der Mathematik. Jedes Paar bestimmt die Reihenfolge der Auswertung und gibt das Ergebnis des Ausdrucks zurück. Siehe https://ss64.com/ps/syntax-operators.html

Sie haben also Zugriff auf die Methoden / Eigenschaften, wenn Sie das Cmdlet zuerst ausführen:

$tomorrow = (Get-Date).AddDays(1)