Frage : Powershell - enthält

Ich kämpfe, um herauszufinden warum - enthält Wahlen, wenn das Suchen durch eine Reihe für eine Reihe und nicht für andere arbeitet?

I morgens versuchend, die ordentliche Methode hier anzuwenden: http://technet.microsoft.c om/en-us/library/ee692798.aspx

The Code:

1:
2:
3:
4:
5:
6:
7:
8:
$arrColours = „Schwarzes“, „Blau“, „Grün“
wenn ($arrColours - enthält „Schwarzes“) {der Schreiben-Wirt „zutreffend“}

$arrServices = Erhalten-Service | Vorwählen-Gegenstand Name

$arrservices [0] #show erstes Element

wenn ($arrServices - enthält „Alerter“) {der Schreiben-Wirt „zutreffend“} sonst {Schreiben-Wirt „falsch“}


The Resultate:

True

Name                                                                                          
----                                                                                          
Alerter

False


So, findet es die Farbe, aber, wenn ich versuche, Dienstleistungen zu laden, und sieht, wenn ein bestimmter Service in der Reihe existiert, die es nicht funktioniert?

I denken, dass es etwas hat, mit der Art der Reihe zu tun, aber ich nicht die Reihe in eine Reihe Schnüre umwandeln kann?

Any Hilfe würde,

Thanks

Shaun
groß sein

Antwort : Powershell - enthält


Es ist, weil $arrServices eine Reihe Gegenstände ist und Sie das Namenseigentum nicht implizit prüfen können.

Sie können um das erhalten, wenn Sie die Liste erzeugen und nur den Vermögenswert zurückbringen. Dann können Sie verwenden enthalten. Andernfalls werden Sie mit Wo-Gegenstand gehaftet.

Chris
1:
2:
3:
4:
5:
$arrServices = Erhalten-Service | ForEach-Gegenstand {$_.Name}

$arrServices [0] # dieses ist eine Schnur

wenn ($arrServices - enthält „Alerter“) {der Schreiben-Wirt „zutreffend“} sonst {Schreiben-Wirt „falsch“}
Weitere Lösungen  
 
programming4us programming4us