小编xbn*_*van的帖子

为什么我不能从我的数组中调用Contains方法?

Arrrg!我正在用PowerShell写一个简单的脚本,我觉得这是一个愚蠢的问题.我正在调用一个调用存储过程的sql命令,结果我把它放在一个数组.结果看起来像这样:

Status                                       ProcessStartTime                            ProcessEndTime                             
------                                       ----------------                            --------------                             
Expired                                      May 22 2010  8:31PM                         May 22 2010  8:32PM
Run Code Online (Sandbox Code Playgroud)

我想做的是if($s.Contains("Expired"))报告失败.简单...?:(问题我遇到的是它看起来像没有加载Contains方法,因为我得到这样的错误:

方法调用失败,因为[System.Object []]不包含名为"Contains"的方法.在行:1 char:12 + $ s.Contains <<<<("Expired")+ CategoryInfo:InvalidOperation :(包含:String)[],RuntimeException + FullyQualifiedErrorId:MethodNotFound

那么,我该怎么做才能阻止PowerShell将其展开为字符串?下面的实际ps脚本 -

$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." 
}
Run Code Online (Sandbox Code Playgroud)

powershell

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

powershell ×1