Website-Suche

PowerShell: So überprüfen Sie, ob ein Objekt über eine bestimmte Eigenschaft verfügt


Häufig möchten Sie möglicherweise überprüfen, ob ein Objekt in PowerShell über eine bestimmte Eigenschaft verfügt.

Sie können dazu die folgenden Methoden verwenden:

Methode 1: Überprüfen Sie, ob das Objekt eine Eigenschaft hat (True oder False zurückgeben)

$my_object.PSobject.Properties.Name -contains 'this_property'

In diesem speziellen Beispiel wird geprüft, ob das Objekt mit dem Namen $my_object die Eigenschaft mit dem Namen this_property enthält und entweder True oder False zurückgibt ein Ergebnis.

Methode 2: Überprüfen Sie, ob das Objekt eine Eigenschaft hat (Verwendung mit if-Anweisung)

if($my_object| Get-Member this_property){
    Write-Host 'Has Property'
}

In diesem speziellen Beispiel wird geprüft, ob das Objekt mit dem Namen $my_object die Eigenschaft mit dem Namen this_property enthält, und gibt „Has Property“ zurück, wenn es die Eigenschaft enthält, andernfalls gibt es nichts zurück.

Das folgende Beispiel zeigt, wie Sie jede dieser Methoden in der Praxis anwenden können.

Beispiel: So überprüfen Sie, ob ein Objekt in PowerShell über eine bestimmte Eigenschaft verfügt

Für dieses Beispiel erstellen wir eine Variable mit dem Namen $host_info, die das vom Cmdlet Get-Host erzeugte Objekt enthält, das Informationen über das Programm enthält, das unsere PowerShell hostet.

Wir können die folgende Syntax verwenden, um diese Variable zu erstellen und dann alle ihre Eigenschaften anzuzeigen:

$host_info = Get-Host
$host_info.psobject.Properties.Name

Der folgende Screenshot zeigt, wie diese Syntax in der Praxis verwendet wird:

Angenommen, wir möchten prüfen, ob in diesem Objekt eine Eigenschaft namens UI vorhanden ist.

Wir können dazu die folgende Syntax verwenden:

$host_info.PSobject.Properties.Name -contains 'UI' 

Der folgende Screenshot zeigt, wie diese Syntax in der Praxis verwendet wird:

Das Objekt enthält die Eigenschaft mit dem Namen UI und gibt daher als Ergebnis True zurück.

Wir können auch die folgende Syntax verwenden, um eine if-Anweisung zu verwenden, um zu prüfen, ob die Eigenschaft vorhanden ist, und stattdessen eine benutzerdefinierte Ausgabe zu schreiben:“

if($my_object| Get-Member this_property){
    Write-Host 'Has Property'
}

Der folgende Screenshot zeigt, wie diese Syntax in der Praxis verwendet wird:

Das Objekt enthält die Eigenschaft mit dem Namen UI, sodass die if-Anweisung als Ergebnis Has Property zurückgibt.

Verwandte Artikel