Warum kann ich nicht call Enthält eine Methode aus meinem array?

Arrrg!Habe ich das, was ich fühle, ist eine dumme Frage mit einem einfachen script, das ich Schreibe, in der powershell. Ich bin auf ein sql-Befehl, der ruft eine gespeicherte Prozedur, mit der die Ergebnisse Stelle ich es ein array. Die Ergebnisse wie folgt Aussehen:

Status                                       ProcessStartTime                            ProcessEndTime                             
------                                       ----------------                            --------------                             
Expired                                      May 22 2010  8:31PM                         May 22 2010  8:32PM

Was ich versuche zu tun, ist if($s.Contains("Expired")) Berichts fehlgeschlagen. Einfach...? 🙁 Problem ist ich in ist wie es aussieht Enthält die Methode wird nicht geladen, da bekomme ich eine Fehlermeldung wie diese:

Methode-Aufruf ist fehlgeschlagen, da [System.Object[]] keine Elemente enthält, die eine Methode mit dem Namen 'Enthält'. Bei Zeile:1 char:12
+ $en.Enthält <<<< ("Abgelaufen")
+ CategoryInfo : InvalidOperation: (Enthält:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

So, was kann ich tun, um zu stoppen powershell aus entrollt es zu string? Tatsächliche ps-Skript -

$s = @(Invoke-Sqlcmd -Query "USE DB
       GO
       exec Monitor_TEST_ps 'EXPORT_RUN',NULL,20" `
       -ServerInstance testdb002\testdb_002
      )

if ($s.Contains("Expired"))   
{
    Write-Host "Expired found, FAIL."
}
else 
{
    Write-Host "Not found, OK." 
}

InformationsquelleAutor xbnevan | 2010-05-28

Schreibe einen Kommentar